2009-01-01 96 views
217

我想知道如何让Subversion更改我的更改显示的名称。我刚开始使用Subversion。我目前正在使用它在XP笔记本电脑上使用版本控制代码,而且我总是以我妻子的名字登录。我希望Subversion DB以我的名字显示更改。在Subversion中,我可以成为除我的登录名以外的用户吗?

稍后我会复制数据库,以便整个房子都可以使用。我的妻子使用办公室电脑,她总是以我的名义登录。我可能会设置它,以便自动检查修改后的文档...最好在她的名下。

最终我可能会在另一个用户名下的Linux机器上使用它。

有什么方法可以修改用户环境来更改Subversion调用您的用户名吗?我希望像设置SVN_USERNAME='Mark'这会重写,但它通常会得到名称。

更新:它看起来像--username标志迈克尔称不工作,以改变由"svn stat"报了名,甚至对本地文件:库。另外,它很粘,所以你不需要为下一个命令指定它。我甚至重新启动,它仍然使用我之前启动时的值"--username"

回答

252

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

As Kamil Kisiel says,当Subversion直接访问存储库关闭文件系统(即库的URL是形式file:///path/to/repofile://file-server/path/to/repo的),它使用文件系统权限来访问存储库。当您的connect via SSH tunnelingsvn+ssh://server/path/to/repo),SVN在您的SSH登录所确定的服务器上使用您的FS权限。在这些情况下,svn checkout --username可能无法用于您的存储库。

+0

感谢您的快速回答。 --username标志看起来很粘,即使在重新启动时也是如此。它在我的文件:repository中工作正常。 – markets 2009-01-03 03:43:50

11

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

否则,迈克尔的解决方案是一个很好的方式来指定用户名权。

+1

我认为这是一个更好的答案,因为它适用于所有SVN命令(checkout,commit等),其中--username标志对于各种命令似乎不存在或略有不同... – edwardsharp 2011-11-03 22:17:51

0

TortoiseSVN的始终会提示用户名。 (除非你不告诉它)

6

使用Subversion与Apache模块或svnserve。我可以使用--username作为多个用户执行操作。

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

-3

我相信你可以设置​​环境变量来改变你的SVN用户名。

+3

您能否提供参考那?我做了一个搜索,发现只有svn_username,这是一个有人做的补丁,我不知道它是否已经到达主线或者没有......我想如果是的话,我会发现其他命中。 – markets 2009-01-02 02:34:31

+0

我刚试过,并没有工作(svn v1.6.17)。 – Tobias 2013-04-17 22:05:10

69

关于svn通过SSH尝试:

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

SVN会提示您user_name的密码。

+6

也适用于`https:// user_name @ .../path`。 – Frank 2011-01-30 19:20:06

+1

不适用于用户名:johndoe @示例。com – neoneye 2013-11-22 12:15:32

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

在另一个用户帐户上工作。不过,系统会提示您再次输入用户名/密码。您需要像上面那样登录一次,并且您将全部设置为以后的时间(除非您重新启动机器)。

36

您可以设置通过〜/的.subversion /服务器默认的用户名:

[groups] 
yourgroupname = svn.example.com 

[yourgroupname] 
username = yourusername 

请注意,旧版本SVN不支持它(例如1.3.1 [原文如此!])。

7

大部分的答案似乎是SV​​N + ssh,或者似乎不适合我们。

对于HTTP访问,退出命令行的SVN用户最简单的方法是:

rm ~/.subversion/auth/svn.simple/*

帽尖:http://www.yolinux.com/TUTORIALS/Subversion.html

2

转到~/.subversion/auth/svn.simple/*,你会看到一个列表包含有关您的svn用户帐户信息的文件。只要删除你不需要的所有其他人。

之后,当你做任何关于SVN操作的东西,比如commit,rm等等。您将再次提示输入用户名或密码。

相关问题