svnadmin加载重新编号

use*_*140 5 svn svndumpfilter svnadmin

我有一个拥有多个项目的大型单一存储库.我使用svnadminfilter命令从一个完整的存储库转储中过滤掉了一些项目.

我使用--drop-empty-revsswitch(并且没有--renumber-revsswitch)转储了完整的存储库,它删除了空的修订版并特别保留了相关的修订版本.现在,在将转储重新加载到新位置的新存储库时,它会从1开始重新编号这些修订,但我想保留这些修订.

svnadmin加载是否还有可用的开关?

P-L*_*P-L 1

这里的技巧是创建空修订版来创建填充,直到达到所需的修订版号。

\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
\n\n

(请注意,您很可能需要自己编译 rsvndump 版本。)

\n\n
\n\n

如果您想自己手动创建填充,您仍然可以编写提交列表的脚本。以下是有关如何执行此操作的示例:\n http://hmcguirk.blogspot.ca/2010/06/subversion-trimming-old-commits-keeping.html

\n