如何使用svndumpfilter排除某个修订版

时间:2012-07-27 00:28:41

标签: svn version-control svnadmin svndumpfilter

我有一个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 '

1 个答案:

答案 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