我有一个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 '
svndumpfilter
工具使用stdin作为输入,并且仅在某些路径上筛选,因此不能排除特定的修订版。然而,您可以尝试将您的存储库从0版转储到22版,并从24版继续转储到HEAD,但是,只有在23版中没有更改的文件在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