我使用TortoiseSVN来访问基于文件的本地仓库。在我的所有提交中,作者是我的Windows登录名。是否可以使用不同的名称?
我知道如何在提交后更改作者,但之前如何更改?安装apache / svnserver不是一种选择。
答案 0 :(得分:15)
是的,这是可能的。
TortoiseSVN 和svn命令行客户端在您的个人资料文件夹中共享相同的设置位置。因此,您只需使用 svn.exe :
结帐一个版本$ svn co --username different_user_name file:///C:/path/to/your/repo
...并且Subversion将很乐意替换该存储库的关联用户名。 TortoiseSVN的新提交将始终使用该用户名,无论您使用哪个程序进行新的结帐。
该程序应与TortoiseSVN 1.5.5一起使用。如果没有,请先尝试清空svn的身份验证缓存(%APPDATA%\Subversion\auth\svn.username
)。
答案 1 :(得分:1)
另一种可能的解决方法(但我 NOT 提倡它)是在提交之前使用客户端钩子脚本,以便更改用户名。
在Subversion书中讨论了Hook脚本,在TortoiseSVN帮助的“Client Side Hook Scripts”中讨论了本地钩子。
答案 2 :(得分:0)
据我所知,TortoiseSVN没有提供任何办法。
据推测,这不是一个大问题,因为基于文件的访问对多用户场景不实用,对于单用户而言,作者名称的重要性不高。
一种可能的解决方法是使用您想要的作者名称创建另一个Windows用户名并与之连接。
答案 3 :(得分:0)
我从来没有在Windows机器上托管过svn,所以这是在黑暗中拍摄的。您可以创建新的Windows用户,并在浏览,签出,提交等时指定该用户。假设您要进行更改msznajder
。在Windows中创建具有该名称的用户,然后尝试使用TortoiseSVN的Repo-browser浏览存储库并在URL中指定用户名 - 类似file:///msznajder@localhost/some/file/path
。
答案 4 :(得分:0)
我建议设置一个post-commit-hook(在你的repo的hooks文件夹中 - 只需将post-commit-hook.tmpl复制到post-commit-hook.bat并清空它[1]
svn propset svn:author --revprop -r HEAD <author> file:///<path-to-repo>
[2]
[1]提供了SlikSvn或类似的安装,即命令行svn访问是可能的)
[2](或.sh,如果在linux上,使用#!/ bin / bash前导码),内容相同