在Subversion中,我可以不是我的登录名吗?


253

我想知道如何Subversion更改更改的名称。

我才刚开始使用Subversion。我目前正在使用它在XP笔记本电脑上对版本控制代码进行版本控制,在该笔记本电脑中,我总是以妻子的名字登录。我希望Subversion数据库以我的名字显示更改。

稍后,我将复制数据库,以便整个房子都可以访问它。我的妻子使用办公室计算机,她总是以我的名字登录。我可能会对其进行设置,以便它自动签入修改过的文档……最好以她的名字。

最终,我可能会在Linux计算机上以另一个用户名使用它。

有什么方法可以修改用户环境以更改Subversion调用您的用户名?我希望像设置SVN_USERNAME='Mark'这样的东西会被覆盖,但是通常会得到名称。

更新:看起来--usernameMichael所引用的标志确实可以更改所报告的名称"svn stat",即使对于本地文件:存储库也是如此。另外,它很粘,因此您无需在下一个命令中指定它。我什至重新启动,它仍然使用"--username"以前启动时的值。

Answers:


280

大多数Subversion命令都具有--username用于指定要用于存储库的用户名的选项。Subversion会记住每个工作副本中使用的最后一个存储库用户名和密码,这意味着,除其他外,如果您使用它,则svn checkout --username myuser无需再次指定用户名。

正如Kamil Kisiel所说,当Subversion直接从文件系统访问存储库时(也就是说,存储库URL的格式为file:///path/to/repofile://file-server/path/to/repo),它将使用您的文件系统权限来访问存储库。当您通过SSH隧道svn+ssh://server/path/to/repo连接时,SVN会使用服务器上的FS权限,该权限由SSH登录名确定。在这种情况下,svn checkout --username可能不适用于您的存储库。


感谢您及时回复。--username标志似乎很粘,即使在重新启动后也是如此。它在我的文件:存储库上正常工作。
市场

70

对于通过ssh的svn,请尝试:

svn list svn+ssh://[user_name]@server_name/path_to_repo  

svn将提示您输入user_name的密码。


1
不适用于用户名,例如:johndoe@example.com
neoneye 2013年

4
https://user_name@.../path不适用于我(cygwin),但--username效果很好。
zelanix 2014年

44

您可以通过〜/ .subversion / servers设置默认用户名:

[groups]
yourgroupname = svn.example.com

[yourgroupname]
username = yourusername

请注意,较早版本的svn不支持它(例如1.3.1 [sic!])。


37
"svn co --username=yourUserName --password=yourpassword http://path-to-your-svn"

在另一个用户帐户上为我工作。但是,系统将提示您再次输入用户名/密码。您需要像上述一样登录一次,并且在以后的所有时间都已设置好(除非重新启动计算机)。


4
在命令行上提供密码时请多加注意。在机器上可以看到进程列表的任何人都可以在进程列表中看到密码。在单用户系统上很好,但是在多用户系统上不好。
bleater 2012年


11

如果使用登录用户名失败,Subversion通常会要求我提供“ Subversion用户名”。因此,当我懒惰时(通常),我会让它询问我的密码,然后按Enter,然后等待用户名提示并使用我的Subversion用户名。

否则,Michael的解决方案是立即指定用户名的好方法。


1
我认为这是一个更好的答案,因为它适用于所有SVN命令(签出,提交等),其中--username标志对于各种命令似乎都不存在或略有不同……
edwardsharp 2011年



6

将Subversion与Apache模块或svnserve一起使用。我已经能够使用多个用户来执行操作--username

每次您以“新”用户身份调用Subversion命令时,您的$HOME/.subversion/auth/<authentication-method>/目录都会为该用户缓存一个新条目(假设您能够以该特定用户身份联系的服务器使用正确的密码或身份验证方法进行身份验证) 。



2

转到~/.subversion/auth/svn.simple/*,您将看到文件列表,其中包含有关svn用户帐户的信息。只需删除所有不需要的其他内容即可。

之后,当您执行任何与SVN操作有关的操作时,例如commit,rm等。系统将再次提示您输入用户名或密码。


-1

TortoiseSVN总是提示输入用户名。(除非您告诉它不要这样做)


不,不是。至少在Linux上1.9.5上没有。
drkvogel

默认情况下,它使用本地用户名,这在连接到远程存储库时并不总是您想要的。
drkvogel

-3

我相信您可以设置SVN_USER环境变量来更改您的SVN用户名。


3
您可以为此提供参考吗?我进行了搜索,只发现了svn_username,这是某人制作的补丁,我无法确定它是否进入了主线……我想我会发现其他匹配项。
市场
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.