如何从现有的 svn 转储文件中删除空修订?

Pal*_*min 5 svn

我有一个 svn 转储文件,其中包含“空”修订(这些是在仅同步现有存储库的子目录时由 svnsync 创建的)。

由于我想使用 svnsync 的存储库作为新的主库(不需要再次同步),我想摆脱所有空的修订。

不幸的是,通过 svndumpfilter 运行转储似乎并没有删除空的修订,可能是因为 svndumpfilter 只查看它自己使用 --exclude 选项清除的修订(另请参见此处

我也在研究svndumptool,但它似乎没有提供这个功能。

是否可以以任何其他方式过滤这些修订?

小智 0

好吧,我一直在犹豫是否要回答这个问题,因为这个解决方案不适合胆小的人,而且可能会让你发疯。

尝试通过删除转储文件中的空修订来手动更改转储文件的内容。您可能还会发现,您需要重做所有修订版号序列,并仔细检查副本,确保从中复制的修订版实际存在和/或将其指向正确的修订版。

这是棘手的部分,编辑转储文件时要小心。额外密钥的一次失误可能会导致修订版加载失败,因为所有内容都经过哈希处理以获取校验和。

祝你好运!