我有一个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 '
答案 0 :(得分:7)
svndumpfilter
工具使用标准输入作为输入,并在某些路径上过滤 ,因此您无法排除特定修订。
但是,您可以尝试将存储库从rev 0转储到rev。但是,只有在转速23之后没有更改转速23中的文件时,这将在转速为24时继续运行。
这是一个小脚本:
svnadmin dump my -r0:22 code > /path/to/dumpfile_1.dmp
svnadmin dump --incremental -r24:HEAD code > /path/to/dumpfile_2.dmp
如果要从dumpfile中创建新的存储库:
svnadmin create code_correct
svnadmin load code_correct < /path/to/dumpfile_1.dmp
svnadmin load code_correct < /path/to/dumpfile_2.dmp