我有大型存储库,我想删除最早的6,000个修订版。如果我还可以在中间删除不需要的修订组,那将是很棒的。
我已经想出如何消除不需要的文件和分支,但我仍然留下了许多不必要的修订。
由于
答案 0 :(得分:1)
您需要使用 svnadmin dump 命令,您可以从任意修订版创建转储文件,然后将其过滤到/排除某些路径。 语法是:
svnadmin dump REPOS_PATH [-r LOWER[:UPPER]] [--incremental]
示例:您希望从您的存储库中排除修订版本10-99:
svnadmin dump REPOS_PATH -r 0:9 > my_dump_file.dmp
svnadmin dump REPOS_PATH -r 100:HEAD > my_dump_file.dmp --incremental
存在一些问题:
在我的示例中在rev 10-99中添加的100之后的rev中的文件更改将创建一条错误消息,您需要在
之前将其从repo 中删除删除稍后用作复制源的文件也会导致转储文件出错。
这两种限制都可以解决,但需要更多的转储/过滤/加载周期,以及更多的时间。当您的时间到了处理这些边框时,由您决定。
使用svnbook阅读svnadmin dump和svndumpfilter
的详细信息