use*_*140 5 svn svndumpfilter svnadmin
我有一个拥有多个项目的大型单一存储库.我使用svnadminfilter命令从一个完整的存储库转储中过滤掉了一些项目.
我使用--drop-empty-revs
switch(并且没有--renumber-revs
switch)转储了完整的存储库,它删除了空的修订版并特别保留了相关的修订版本.现在,在将转储重新加载到新位置的新存储库时,它会从1开始重新编号这些修订,但我想保留这些修订.
svnadmin加载是否还有可用的开关?
这里的技巧是创建空修订版来创建填充,直到达到所需的修订版号。
\n\n但是,在 svnadmin load 中没有开关可以执行此操作。您要么需要手动创建它们,要么使用rsvndump等工具。
\n\n从联机帮助页来看:\n --keep-revnums
\n保持输出中的修订号与存储库同步。这是通过在必要时插入空修订版进行填充来完成的。
\n\n\n修订版本号
\n\n转储输出中的修订号取决于提供给 rsvndump 的选项和\n 路径。如果您要转储存储库的根目录,那么您当然不需要担心修订号不同步。如果要转储子目录,则转储输出中只会出现更改此子目录的修订\n。转储中的修订号是严格连续的,因此它们将与原始版本号不同。
\n\n如果您需要保留原始存储库中的修订号(例如,如果错误跟踪器依赖于它们),则可以使用 --keep-revnums 标志。它用空修订版填充未更改子目录的修订版。它们没有\xe2\x80\x99t 具有作者或日期\n 属性,但包含日志消息“这是用于\n 填充的空修订版。”。
\n
(请注意,您很可能需要自己编译 rsvndump 版本。)
\n\n如果您想自己手动创建填充,您仍然可以编写提交列表的脚本。以下是有关如何执行此操作的示例:\n http://hmcguirk.blogspot.ca/2010/06/subversion-trimming-old-commits-keeping.html
\n