如何批量重写SVN日志?

时间:2011-10-01 15:56:31

标签: svn svnadmin

我需要搜索/替换对我的SVN存储库进行更改的用户名称;我们正在进行一些组织变更,所以我需要将'fantasticMan'作为日志中各种变化的作者改为'authorA'(仅举例)。

我的想法是svn dump,然后对转储文件进行搜索/替换。问题是在第一次结账后,它只进入修订版1;当我在做svnadmin load命令时,我收到了这条消息:svnadmin: Dumpstream data appears to be malformed。我怀疑日志中有一些校验和以确保dumpfile的完整性,所以我不能只进行搜索并替换dumpfile。

如何更改存储库的作者姓名? (如果有办法在不必转储存储库然后重新加载转储的情况下执行此操作,我更倾向于使用该解决方案。)

2 个答案:

答案 0 :(得分:1)

Is there a way to change a SVN users username through the entire repository history?

使用svndumptool效果最佳。 A.H.的方式会花费我更长的时间。

答案 1 :(得分:0)

您可以使用svnadmin setrevprop。在Linux中说:

svnadmin setrevprop -r1 MyRepoDir svn:author <(echo -n NewAuthor)

所以接下来的问题是:如何得到老作者:

svnlook author -r1 MyRepoDir

因此,您将基本上从版本1迭代到“最年轻”,并在途中映射每个作者。我希望你,你没有像一些Apache存储库那样多的修订。 : - )