我需要搜索/替换对SVN存储库进行更改的用户名称;我们正在进行一些组织更改,所以我需要将日志中各种更改的作者'fantasticMan'更改为'authorA'(只是一个示例)。
我的想法是svn dump
,然后做一个搜索/替换转储文件。问题是,在第一次签出之后,它只能到达版本1;当我执行svnadmin load
命令时,我得到了这个消息:svnadmin: Dumpstream data appears to be malformed
。我怀疑日志中存在一些校验和,以确保转储文件的完整性,因此我不能只进行搜索并替换转储文件。
如何更改存储库的作者名称?(如果有一种方法可以做到这一点,而不必转储存储库,然后重新加载转储,我更喜欢这种解决方案。)
是否有办法通过整个存储库历史更改SVN用户的用户名?
使用svndumptool
效果最好。A.H.
您可以使用svnadmin setrevprop
。在Linux中:
svnadmin setrevprop -r1 MyRepoDir svn:author <(echo -n NewAuthor)
那么下一个问题将是:如何获得旧作者:
svnlook author -r1 MyRepoDir
因此,您将基本上从修订1迭代到"最年轻",并在此过程中映射每个作者。我希望您不要像某些Apache存储库那样有那么多的修订。: -)