如何批量重写 SVN 日志?
Posted
技术标签:
【中文标题】如何批量重写 SVN 日志?【英文标题】:How do I batch rewrite an SVN log? 【发布时间】:2011-10-01 15:56:31 【问题描述】:我需要对更改我的 SVN 存储库的用户名进行搜索/替换;我们正在进行一些组织更改,因此我需要将日志中各种更改的作者“fantasticMan”更改为“authorA”(只是一个示例)。
我的想法是 svn dump
然后对转储文件进行搜索/替换。问题是在第一次结帐后,它只能到达修订版 1;当我执行svnadmin load
命令时,我收到了这条消息:svnadmin: Dumpstream data appears to be malformed
。我怀疑日志中有一些校验和以确保转储文件的完整性,因此我不能只对转储文件进行搜索和替换。
如何更改存储库的作者姓名? (如果有办法做到这一点而不必转储存储库然后重新加载转储,我更喜欢这种解决方案。)
【问题讨论】:
【参考方案1】:Is there a way to change a SVN users username through the entire repository history?
使用svndumptool
效果最好。 AH 的方式会花费我更长的时间。
【讨论】:
【参考方案2】:您可以为此使用svnadmin setrevprop
。用 Linux 说话:
svnadmin setrevprop -r1 MyRepoDir svn:author <(echo -n NewAuthor)
那么接下来的问题将是:如何搞定老作者:
svnlook author -r1 MyRepoDir
因此,您基本上将从修订版 1 迭代到“最年轻”,并在途中映射每个作者。我希望你没有像某些 Apache 存储库那样多的修订。 :-)
【讨论】:
以上是关于如何批量重写 SVN 日志?的主要内容,如果未能解决你的问题,请参考以下文章