12

我正在将 SVN 存储库从 Windows 机器(Windows 7)移动到 Linux 机器(Ubuntu 13)。我在 Windows 上转储 reposvnadmin dump并将文件复制到 Linux 机器。现在我在跑步

svnadmin load dest-folder < dumpfile

终端响应

'vnadmin: E140001: Malformed dumpfile header 'SVN-fs-dump-format-version: 2

我怀疑我的字符编码存在问题(Windows 与 Unix),基于单引号从行尾(应该在哪里)到开头的事实。但是我尝试在 Notepad++ 中转换字符编码,但我只收到不同的错误。

当我以 UTF-8 编码时出现上述错误。

当转换为“UTF-8 without BOM”或“ANSI”时:

' into a number04: Could not convert ' 2

当转换为“UCS-2 Big Endian”或“UCS-2 Little Endian”时:

svnadmin: E140001: Malformed dumpfile header '?\254?\255'

我对字符编码一无所知,所以我不知道下一步该去哪里。或者也许这是我的转储或回购的问题,但直到现在我还没有遇到任何关于 SVN 的问题。

4

2 回答 2

24

这个答案来自用户 kostix 对我的问题的评论。

问题是我使用 PowerShell 创建转储文件。当我切换到在 Windows 中使用 vanilla 命令提示符时,问题就解决了。正如所指出的,PowerShell 通过管道或 shell 输出文件自动输出 UCS-2 文件,而 Linux 不喜欢这种字符编码。

于 2013-09-18T12:19:42.963 回答
1

如果您收到错误 svnadmin: E140001: Malformed dumpfile header '?\FF?\FES'

如果您使用 PowerShell 进行备份,Windows SVN 转储在 Linux SVN 上不起作用,我建议在 Windows 中使用 vanilla 命令提示符(默认),它会比 PowerShell 快 10 倍以及进行转储备份。

svnadmin 转储 /repository_name > backup_svn.dump

于 2018-04-27T14:26:15.100 回答