我想知道如何Subversion
更改我的更改所显示的名称.
我刚刚开始使用Subversion
.我正在使用它在XP笔记本电脑上版本控制代码,我总是以我妻子的名字登录.我希望subversion DB在我的名字下显示更改.
稍后我将复制数据库,以便整个房子可以访问它.我的妻子使用办公室电脑,她总是以我的名义登录.我可能会设置它,以便自动检查修改后的文档...最好是在她的名下.
最终我可能会在另一个用户名的Linux机器上使用它.
有没有办法修改用户环境来更改Subversion调用你的用户名?我希望设置SVN_USERNAME='Mark'
会覆盖,但它通常会得到名称.
更新:看起来--username
Michael提到的标志确实可以更改报告的名称"svn stat"
,即使对于本地文件:存储库也是如此.此外,它是粘性的,因此您无需为下一个命令指定它.我甚至重新启动它仍然使用"--username"
我之前启动时的值.
大多数Subversion命令都可以--username
选择指定要用于存储库的用户名.Subversion会记住每个工作副本中使用的最后一个存储库用户名和密码,这意味着,除其他外,如果您使用,则svn checkout --username myuser
永远不需要再次指定用户名.
正如Kamil Kisiel所说,当Subversion直接从文件系统访问存储库(即存储库URL的形式file:///path/to/repo
或file://file-server/path/to/repo
)时,它使用您的文件系统权限来访问存储库.当您通过SSH隧道连接(svn+ssh://server/path/to/repo
)时,SVN将使用您在服务器上的FS权限(由SSH登录确定).在这些情况下,svn checkout --username
可能不适用于您的存储库.
对svn over ssh试试:
svn list svn+ssh://[user_name]@server_name/path_to_repo
svn会提示你输入user_name
密码.
您可以通过〜/ .subversion/servers设置默认用户名:
[groups] yourgroupname = svn.example.com [yourgroupname] username = yourusername
请注意,旧版本的svn不支持它(例如1.3.1 [sic!]).
"svn co --username=yourUserName --password=yourpassword http://path-to-your-svn"
在另一个用户帐户上为我工作.系统将提示您再次输入用户名/密码.您需要像上面一样登录,然后为随后的时间设置(除非您重新启动计算机).
如果您需要指定除登录用户以外的用户名以用于svn + ssh,只需在.ssh/config文件中添加一个条目:
Host example.com User jdoe
如果使用我登录的用户名失败,Subversion通常会要求我提供"Subversion用户名".所以,当我很懒(通常)时,我会让它问我密码,然后按Enter键,等待用户名提示并使用我的Subversion用户名.
否则,迈克尔的解决方案是一个直接指定用户名的好方法.
大多数答案似乎是针对svn + ssh,或者似乎不适合我们.
对于http访问,从命令行注销SVN用户的最简单方法是:
rm ~/.subversion/auth/svn.simple/*
帽子提示:http://www.yolinux.com/TUTORIALS/Subversion.html
我相信如果您使用file://方法访问您的subversion存储库,您的更改总是在访问存储库的用户下执行.您需要使用支持身份验证的方法,例如http://或svn://.
请参阅http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.serverconfig.choosing
将Subversion与Apache模块或svnserve一起使用.我已经能够以多个用户的身份执行操作--username
.
每次调用Subversion命令作为"新"用户时,您的$HOME/.subversion/auth/
目录将为该用户缓存一个新条目(假设您能够使用正确的密码或您作为特定用户联系的服务器的身份验证方法进行身份验证) .