Authentication 在Subversion中,我可以是登录名以外的用户吗?

Authentication 在Subversion中,我可以是登录名以外的用户吗?,authentication,svn,Authentication,Svn,我想知道如何获得Subversion来更改我的更改显示的名称 我刚刚开始使用Subversion。我现在用它来控制XP笔记本电脑上的代码版本,我总是用我妻子的名字登录。我希望subversion DB以我的名义显示更改 稍后我将复制DB,以便整个房子都可以访问它。我妻子使用办公室电脑,她总是以我的名字登录。我可能会对它进行设置,以便它自动检入修改过的文档。。。最好用她的名字 最终,我可能会在linux机器上以另一个用户名使用它 是否有方法修改用户环境以更改Subversion调用您的用户名?我希

我想知道如何获得
Subversion
来更改我的更改显示的名称

我刚刚开始使用
Subversion
。我现在用它来控制XP笔记本电脑上的代码版本,我总是用我妻子的名字登录。我希望subversion DB以我的名义显示更改

稍后我将复制DB,以便整个房子都可以访问它。我妻子使用办公室电脑,她总是以我的名字登录。我可能会对它进行设置,以便它自动检入修改过的文档。。。最好用她的名字

最终,我可能会在linux机器上以另一个用户名使用它

是否有方法修改用户环境以更改Subversion调用您的用户名?我希望像设置
SVN\u USERNAME='Mark'
这样的东西会覆盖它,但它通常会得到名称


更新:看起来Michael提到的
--username
标志确实可以更改
“svn stat”
报告的名称,即使是本地文件:存储库。此外,它是粘性的,因此无需为下一个命令指定它。我甚至重新启动了,它仍然使用我上次启动时的--username值。

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


,当Subversion直接从文件系统访问存储库时(即,存储库URL的格式为
file:///path/to/repo
file://file-server/path/to/repo
),它使用您的文件系统权限访问存储库。当你(
svn+ssh://server/path/to/repo
),SVN使用您在服务器上的FS权限,这由您的SSH登录决定。在这些情况下,
svn checkout--username
可能不适用于您的存储库。

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


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

我相信如果您使用file://方法访问subversion存储库,您的更改总是在访问存储库的用户下执行。您需要使用支持身份验证的方法,例如http://或svn://


请参见

陆龟VN始终提示输入用户名。(除非您告诉它不要)

将Subversion与Apache模块或SVN服务器一起使用。我已经能够使用
--username
作为多个用户执行操作


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

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

对于SVN over ssh,请尝试:

svn list svn+ssh://[user_name]@server_name/path_to_repo  
svn将提示您输入
用户名
的密码

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

在另一个用户帐户上为我工作。不过,系统会提示您再次输入用户名/密码。您需要像上面那样登录一次,并且您已经为以后的时间做好了准备(除非重新启动计算机)。

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

[groups]
yourgroupname = svn.example.com

[yourgroupname]
username = yourusername

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

如果您使用svn+ssh连接到存储库,那么唯一认证和授权您的是您的ssh凭据。其他一切都被忽略了。您的用户名将完全按照在ssh连接中建立的方式登录subversion。如果需要指定与svn+ssh一起使用的登录用户以外的用户名,请参见

Host example.com 用户jdoe
大多数答案似乎是针对svn+ssh的,或者似乎对我们不起作用

对于http访问,从命令行注销SVN用户的最简单方法是:

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


帽子提示:

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


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

您能提供相关参考吗?我做了一次搜索,只找到了svn_用户名,这是一个有人制作的补丁,我不知道它是否进入主线。。。如果是的话,我想我会找到其他的热门歌曲。谢谢你的快速回答。--username标志看起来很粘,即使在重新启动时也是如此。它在我的文件中工作得很好:存储库。我认为这是一个更好的答案,因为它适用于所有的VN命令(签出、提交等),其中,用户名标志似乎对于各种命令都不存在或略有不同……在命令行上提供密码时要小心。任何能在机器上看到进程列表的人都能在进程列表中看到密码。在单用户系统上很好,但在多用户系统上就不太好了。man ssh_config会告诉您这一切。我还没有找到使此动态的方法(例如基于环境变量)。不适用于以下用户名:johndoe@example.com
https://user_name@…/path
对m不起作用 Host example.com User jdoe