有没有办法让Bitbucket每次进行远程Mercurial操作时都要求我输入密码?

时间:2010-10-14 13:34:53

标签: mercurial bitbucket

对于我推送的所有其他Mercurial回购,我可以在我的hgrc中设置我的用户名和密码(实际上,因为我使用Windows,Mercurial.ini)在特定域中进行操作,并且Mercurial不会提示我的身份证明信息。但是,即使有这些设置,Bitbucket 总是要求我输入密码。

我的设置如下:

[auth]
bitbucket.prefix = bitbucket.org
bitbucket.username = myusername
bitbucket.password = mypassword

正如我所说,这些设置适用于我推送的所有其他回购。

2 个答案:

答案 0 :(得分:44)

原来问题在于我使用的是Bitbucket存储库页面上显示的存储库的URL,其中包含bitbucket域名前面的用户名,因此最终看起来像https://myusername@bitbucket.org/myusername/myrepo

显然,当以这种方式提供用户名时,它会忽略[auth]部分中的内容。我刚刚更改了hgrc中我的本地克隆版本的URL,并且它正好拿起了[auth]部分。

不在问题中包含此细节的道歉。

答案 1 :(得分:5)

您是否正在使用bitbucket的ssh://网址或https://网址? Bitbucket提供两者。如果是ssh,则需要使用ssh-agent或类似的(ssh不使用[auth]部分)将密钥保存在内存中或切换到https:URL。您也可以尝试添加bitbucket.schemes = http https以防万一,但如果您使用的是https://网址,则https的默认值应该没问题。还要注意bitbucket用户名区分大小写 - 这让我有一段时间了。

如果这些都不适合您,请尝试使用--debug启用调试,看看是否有任何消息可以提供帮助。