svndumpfilter --drop-empty-revs保持填充修订版

Ben*_*ann 6 svn svndumpfilter svnadmin

我们将一个大的svn存储库(100k + revs)拆分成几个较小的存储库.我使用svndumpfilter(v1.7.2)拆分转储和svndumptool/sed来过滤大转储.

一切正常,除了我的过滤转储中仍然有一些"填充修订版",即使我使用了"drop-empty-revs"选项.

当我们有不到10%的无用"填充修订版"时,这不是太成问题,但有时,新的repo只有几百个真正的修订版本埋没在30k +"填充修订版"中.

这是我使用的命令和包含的修订

svndumpfilter --drop-empty-revs --renumber-revs include /MyProj < MassiveOldRepo.dump > NewAllCleanRepo.dump

------------------------------------------------------------------------
r3453 | (no author) | 2005-09-29 17:27:54 +0200 (jeu., 29 sept. 2005) | 1 line

This is an empty revision for padding.
------------------------------------------------------------------------
r3454 | (no author) | 2005-09-29 17:28:27 +0200 (jeu., 29 sept. 2005) | 1 line

This is an empty revision for padding.
------------------------------------------------------------------------    
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法不包括这些修订,因为我正在过滤转储(没有手动从过滤转储中删除它们).

编辑:我想补充说,我使用了svndumpfilter一些空的修订版,第一个"真正的"修订版之前的版本和最后一个"真正的"版本之后的版本.

小智 6

我有同样的问题,空的修订已经包含在存储库中.从Subversion 1.7开始,仍然有一个未记录的开关,它允许过滤所有空的修订版.

svndumpfilter --drop-all-empty-revs include / < oldrepos.dump > newrepos.dump
Run Code Online (Sandbox Code Playgroud)

更多信息可以在grokbase找到.


Ben*_*ann 4

经过几个小时的测试,阅读 svndumpfilter 源代码(注释非常好,干得好!),我意识到这些空修订并不是来自我的过滤。

它们已经躺在我原来的垃圾场里了,日期是 2005 年的。

结论:先检查你的数据!