在Subversion中,我可以成为除我的login名之外的用户吗?
我想知道如何让Subversion
更改我的更改显示的名称。
我刚开始使用Subversion
。 我正在使用它在XP笔记本电脑上的版本控制代码,我总是以我妻子的名字login。 我想颠覆数据库来显示我的名字下的变化。
稍后我将复制数据库,以便整个房子都可以使用。 我的妻子使用的办公室电脑,她总是以我的名义login。 我可能会设置它,以便自动检查修改后的文档…最好在她的名下。
最终我可能会从另一个用户名下的Linux机器上使用它。
有没有办法修改用户环境来改变Subversion调用你的用户名? 我期望像设置SVN_USERNAME='Mark'
这将重写,但它通常会得到的名称。
更新:看起来像Michael提到的--username
标志确实可以改变"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权限,这取决于你的SSHlogin。 在这些情况下, svn checkout --username
可能不适用于您的存储库。
对于svn通过ssh尝试:
svn list svn+ssh://[user_name]@server_name/path_to_repo
svn会提示你inputuser_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"
在另一个用户帐户上工作。 不过你会被提示input用户名/密码。 你需要像上面这样login一次,并且你已经设置好了以后的时间(除非你重新启动你的机器)。
如果您需要指定除svn + ssh之外的login用户以外的用户名, 只需在.ssh / config文件中添加一个条目 :
主机example.com 用户jdoe
如果使用我login的用户名,Subversion通常会询问我的“Subversion用户名”。 所以,当我懒惰(通常),我只是让它问我的密码,我会打进,并等待用户名提示,并使用我的Subversion用户名。
否则,迈克尔的解决scheme是立即指定用户名的好方法。
大多数的答案似乎是svn + ssh,或似乎不适合我们。
对于http访问,从命令行注销SVN用户最简单的方法是:
rm ~/.subversion/auth/svn.simple/*
帽子提示: http : //www.yolinux.com/TUTORIALS/Subversion.html
我相信如果你使用file://方法来访问你的Subversion版本库,你的更改总是在访问版本库的用户下执行。 您需要使用支持身份validation的方法,如http://或svn://。
请参阅http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.serverconfig.choosing
使用Subversion与Apache模块或svnserve。 我已经能够使用--username
作为多个用户执行操作。
每当您以“新”用户身份调用Subversion命令时,您的$HOME/.subversion/auth/<authentication-method>/
目录将为该用户caching一个新条目(假设您能够使用正确的密码进行身份validation或作为特定用户联系的服务器的身份validation方法)。
如果您使用svn + ssh连接到存储库,那么对您进行身份validation和授权的唯一方法就是您的ssh凭证。 其他的一切都被忽略了。 您的用户名将被logging在颠覆完全一样,因为它是build立在您的SSH连接。 一个很好的解释是在jimmyg.org/blog/2007/subversion-over-svnssh-on-debian.html
转到~/.subversion/auth/svn.simple/*
,你会看到一个包含svn用户帐户信息的文件列表。 只要删除你不需要的所有其他人。
之后,当你做任何关于SVN操作的东西,比如commit,rm等等。 您将再次提示input用户名或密码。
TortoiseSVN总是提示input用户名。 (除非你告诉不要)
我相信你可以设置SVN_USER
环境variables来改变你的SVN用户名。