Я использую TortoiseHg Workbench 64bit 2.1.4, хотя это может быть проблема с Mercurial. ОС - Windows 7 (64 бит).
У меня есть два проекта, которые я выдвигаю в двух разных местах (один - битбакет, другой - частный). Они используют разные имена пользователей и пароли, и я нажимаю HTTPS.
Я установил keyring в свой mercurial.ini:
[extensions]
mercurial_keyring=
а в двух файлах .hg/hgrc у меня есть пути установки с их соответствующими значениями:
[paths]
default = https://[email protected]/XXX
Если я работаю только с одним репо, пароль запоминается каждый раз, когда я подключаюсь. Однако, когда я переключаюсь между проектами, мне нужно повторно ввести пароль. Как будто он будет помнить только один пароль.
Ниже приведен пример журнала с опцией teh --debug (пароль выводится после строки "user: userX (исправлено в .hg/hgrc)":
% hg --repository xxx push --debug https://[email protected]/XXX
pushing to https://[email protected]/XXX
using https://[email protected]/XXX
http auth: user userX, password not set
sending capabilities command
domainX certificate successfully verified
Keyring URL: https://[email protected]/XXX
Keyring password found. Url: https://[email protected]/XXX, user: userX, passwd: ********
domainX certificate successfully verified
Keyring URL: https://[email protected]/XXX
http authorization required
realm: DEV
user: userX (fixed in .hg/hgrc)
Saving password for userX to keyring
Manually entered password. Url: https://[email protected]/XXX, user: userX, passwd: ********
domainX certificate successfully verified
sending heads command
Keyring URL: https://[email protected]/XXX
Cached auth data found. Url: https://[email protected]/XXX, user: userX, passwd: ********
domainX certificate successfully verified
searching for changes
no changes found
checking for updated bookmarks
sending listkeys command
Keyring URL: https://[email protected]/XXX
Cached auth data found. Url: https://[email protected]/XXX, user: userX, passwd: ********
domainX certificate successfully verified