git svn https身份验证

时间:2014-09-03 03:27:04

标签: git svn authentication

git-svn document

  

- 用户名=   对于SVN处理(http,https和plain svn)身份验证的传输,请指定用户名。对于其他传输(例如svn + ssh://),您必须在URL中包含用户名,例如svn + ssh://foo@svn.bar.com/project

然而,在我的电脑(Windows 7,git版本1.9.4.msysgit.0)中,当我使用

git svn clone https://server/svn/repo

首先询问我的Windows用户名密码,然后(由于服务器使用svn auth失败,请询问服务器用户名和密码)。一切正常。

当我尝试克隆另一个回购时,问题就出现了。由于此repo仅对其他用户可用,因此我使用以下命令。

git svn clone https://server/svn/repo1 --username xxx

我原本应该要求密码,但事实并非如此。它只是因403错误而失败。

我还尝试克隆了可供两个用户使用的第三个回购,但我想将用户指定为后者,

git svn clone https://server/svn/repo2 --username xxx

没有任何密码提示成功。由于密码不同,因此必须使用以前的用户凭证。

后来我认识到我将使用

git svn clone https://server/svn/repo2 --username=xxx

但它仍然是一样的。

所以看起来--username=xxx没有做任何事情。如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

谢谢谢丽尔的提示。在我清除了subversion凭证缓存(%HOMEPATH%\ .subversion \ auth \ svn.simple )之后,它确实有效。

但是,我不知道为什么会这样设计 - 我希望有一个明确的" - 用户名"参数应覆盖凭证缓存中的任何内容。也许这只是一个错误?