2010-09-29 2 views
6

Мой сервер Mercurial требует аутентификации https для pull. Как я могу кэшировать свою информацию о проверке подлинности на клиенте, не выставляя на диске пароль с открытым текстом?Ключ для проверки подлинности на основе Mercurial?

Я ищу что-то вроде using sudo with mercurial and ssh authentication, но для HTTPS.

ответ

6

Вы изучили Mercurial keyring?

Он поддерживает HTTPS и поставляется в комплекте с последней версией TortoiseHg. Если у вас нет TortoiseHg, вы можете установить его, как и любое другое расширение (хотя я рекомендую TortoiseHg, если вы пользователь Windows).

+0

Это не похоже на работу под Windows. В коде используются команды pwd и другие unix-специфические команды. По-видимому, это кросс-платформенный способ сделать это с сертификатами на стороне клиента. Есть идеи? – Gili

+1

Версия Hg для TortoiseHg и keyring должны быть в Windows. Вот что говорит keyring docs: «Если вы работаете в Windows, мы рекомендуем использовать TortoiseHg. THG поставляется с бэкэндами, специфичными для Windows, без которых расширение меркуриальной клавиатуры не может нормально функционировать в Windows. TortoiseHg с версии 0.10. " – dls

+2

После того, как вы установили TortoiseHg, вам нужно включить расширение mercurial_keyring: щелкните правой кнопкой мыши по любой папке в проводнике> TortoiseHg> Глобальные настройки> щелкните по Extensions> tick mercurial_keyring> нажмите OK. Теперь вам будет предложено ввести пароль, но не для последующих операций. (Почему они не включают это по умолчанию или делают его более широко известным, кажется мне глупым!) – Rory

-2

Вы можете поместить [auth] раздел в вашем ~.hgrc:

[auth] 
foo.prefix = hg.intevation.org/mercurial 
foo.username = foo 
foo.password = bar 
foo.schemes = http https 

Или вы всегда можете использовать URL с информацией аутентификации в нем, что является действительным в ртутный как в адресной строке веб-браузера:

http://user:[email protected]/path/to/repo/ 

который вы бы положить в [path] разделе ваших репо .hg/hgrc файла.

+3

В этом вопросе явно указано, что я не хочу выставлять пароль на текстовом языке. Попробуй еще раз :) – Gili