2

我有一个或两个错误版本的 SVN 存储库。我需要摆脱他们!我打算使用 svndumpfilter 工具,它有一个exclude命令。但是,我无法弄清楚如何使用它来排除修订。每次我使用它时,我都会遇到Malformed dumpfile header错误。请参阅下面的命令;我想排除修订版 23,代码是包含存储库的目录。

>svndumpfilter exclude 23 code
Excluding prefixes:
   '/23'
   '/code'

SVN-fs-dump-format-version: 2

<waits for me to type something and press enter>

'vndumpfilter: E140001: Malformed dumpfile header '
4

1 回答 1

10

svndumpfilter工具使用标准输入作为输入并在某些路径上过滤,因此您不能排除特定修订。但是,您可以尝试将存储库从 rev 0 转储到 rev。22 并从 rev 24 继续到 HEAD,但是,这只有在 rev 23 中没有更改的文件在 rev 23 之后再次更改时才有效。

这是一个小脚本:

svnadmin dump my -r0:22 code > /path/to/dumpfile_1.dmp
svnadmin dump --incremental -r24:HEAD code > /path/to/dumpfile_2.dmp

如果要使用转储文件创建新存储库:

svnadmin create code_correct
svnadmin load code_correct <  /path/to/dumpfile_1.dmp 
svnadmin load code_correct <  /path/to/dumpfile_2.dmp
于 2012-07-28T13:00:44.990 回答