是否可以通过整个存储库历史记录来更改SVN用户的用户名?

问题描述 投票:18回答:7

[当我的团队刚开始使用SVN时,我们所有人都只是在提交到存储库时才使用我们的名字,但是,由于我们的团队已经成长,我们遇到了问题,因为我们只雇用了第二名Mike

我们想做的是将每个人的用户名更改为他们计算机上的用户名(名字的首字母+姓氏)。我看到的问题是SVN历史记录仍会在提交时显示旧的用户名。

是否有工具可以在整个存储库的整个历史记录中更改用户名?

例如,我希望当前归因于Mike的每个提交都更改为msmith,一直到版本1。

我首先想到的是,我必须对转储文件进行一些解析和处理,但是使用工具会很好。

svn repository history rename
7个回答
20
投票
您可以使用svndumptool

13
投票
TortoiseSVN对此功能提供了出色的支持:可以在其Revision Log Dialog中按作者过滤(甚至通过正则表达式),根据需要从过滤列表中选择修订版本(通常都与该问题类似),然后选择“编辑作者'(从上下文菜单中选择。)>

当然,在jeroenhs pre-revprop-change hook中提到的具有answer的前提仍然适用。


12
投票
svn propset --revprop -r revision_number svn:author new_username

7
投票
echo -n "msmith" > msmith.txt svn log /svn -q | grep '^r[0-9]* | Mike |' | cut -f 1 -d' ' | xargs -n1 svnadmin setrevprop /svn svn:author msmith.txt -r

3
投票
我要说的是,让您的新Mike选择另一个名字的先例。

2
投票
今天早上我在我的存储库转储上尝试了它,它运行正常。

-2
投票
但是自SVN的0.x天以来,我还没有真正研究过SVN的内部结构,所以我可能会离开...
© www.soinside.com 2019 - 2024. All rights reserved.