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

Bri*_*van 39 mercurial bitbucket

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

我的设置如下:

[auth]
bitbucket.prefix = bitbucket.org
bitbucket.username = myusername
bitbucket.password = mypassword
Run Code Online (Sandbox Code Playgroud)

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

Bri*_*van 44

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

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

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


Ry4*_*ase 5

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

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