39

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

我的设置如下:

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

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

4

2 回答 2

44

原来这里的问题是我使用了在我的 Bitbucket 存储库页面上显示的存储库 URL,其中包括 bitbucket 域名前面的用户名,所以它最终看起来像https://myusername@bitbucket.org/myusername/myrepo.

显然,当以这种方式提供用户名时,它会忽略该[auth]部分中的内容。我刚刚更改了 hgrc 中的 URL 以用于我的本地仓库克隆,它很好地拾取了[auth]部分内容。

很抱歉没有在问题中包含这个细节。

于 2010-10-14T16:29:23.270 回答
5

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

如果这些都不适合您,请尝试打开调试--debug并查看是否有任何有用的消息。

于 2010-10-14T15:27:27.803 回答