Вы можете создать раздел авторизации в вашем файле .hgrc
или в Mercurial.ini
файле, например так:
[auth]
bb.prefix = https://bitbucket.org/repo/path
bb.username = foo
bb.password = foo_passwd
Часть 'bb' является произвольным идентификатором и используется для сопоставления префикса с именем пользователя и паролем - удобно для управления различными комбинациями имени пользователя / пароля на разных сайтах (префикс)
Вы также можете указать только имя пользователя, тогда вам просто нужно будет ввести пароль при нажатии.
Я также рекомендовал бы взглянуть на расширение связки ключей . Поскольку он хранит пароль в кольце ключей вашей системы вместо простого текстового файла, он более безопасен. Он входит в комплект TortoiseHg для Windows, и в настоящее время обсуждается вопрос о его распространении в виде расширения на всех платформах.
Есть три способа сделать это: использовать файл .hgrc, использовать ssh или использовать расширение для ключей
1. НЕПРАВИЛЬНЫЙ способ - обновите файл ~ / .hgrc
Формат, который работает для меня (в моем файле ~ / .hgrc) это
Вы можете настроить столько репо, сколько захотите, добавив больше тройки префикса, имени пользователя и пароля, добавив уникальный тег.
Это работает только в Mercurial 1.3, и, очевидно, ваши имя пользователя и пароль в виде обычного текста - не очень хорошо.
2. Безопасный способ - используйте SSH для избежания использования паролей
Mercurial полностью поддерживает SSH, поэтому мы можем воспользоваться возможностью SSH входить на сервер без пароля - вы выполняете разовую настройку, чтобы предоставить самогенерируемый сертификат. На сегодняшний день это самый безопасный способ делать то, что вы хотите.
Вы можете найти больше информации о настройке входа без пароля здесь
3. Брелок Расширение
Если вы хотите безопасный вариант, но не знакомы с SSH, почему бы не попробовать это?
Из документов ...
Более подробная информация здесь
источник
Никто не упомянул расширение ключей. Это сохранит имя пользователя и пароль в системном брелоке, что гораздо более безопасно, чем хранить ваши пароли в статическом файле, как упомянуто выше. Выполните шаги ниже, и вы должны быть в порядке. Я запустил это на Ubuntu примерно через 2 минуты.
https://www.mercurial-scm.org/wiki/KeyringExtension
источник
Простой способ взломать - добавить имя пользователя и пароль к ссылке в
.hg/hgrc
файле вашего проекта :(Обратите внимание, что таким образом вы сохраняете пароль в виде простого текста)
Если вы работаете над несколькими проектами в одном домене, вы можете добавить правило перезаписи в свой
~/.hgrc
файл, чтобы избежать повторения этого для всех проектов:Опять же, поскольку пароль хранится в виде простого текста, я обычно храню только свое имя пользователя.
Если вы работаете в Gnome, я объясню, как интегрировать Mercurial и Gnome Keyring здесь:
http://aloiroberto.wordpress.com/2009/09/16/mercurial-gnome-keyring-integration/
источник
Никто выше не объяснил / разъяснил условия для начинающего пользователя. Они запутываются в условиях
.hg / hgrc - этот файл используется для репозитория в локальном / рабочем пространстве / в папке фактического репозитория .hg.
~ / .hgrc - этот файл отличается от приведенного ниже. этот файл находится в ~ или домашнем каталоге.
myremote.xxxx = ..... bb.xxxx = ......
Это одна из строк в разделе / директива [auth] при использовании расширения ртутного набора ключей. Убедитесь, что имя сервера, которое вы там указали, совпадает с тем, которое вы используете при выполнении команды «hg clone», иначе брелок скажет «пользователь не найден». bb или myremote в строке ниже, это «псевдоним», который вы ДОЛЖНЫ дать при выполнении «hg clone http: /.../../ repo1 bb или myremote», в противном случае это не сработает, или вы должны убедиться, что ваш локальный Файл репозитория .hg / hgrc содержит тот же псевдоним, т. е. (что вы дали при выполнении hg clone .. в качестве последнего параметра).
PS следующие ссылки для ясных деталей, простите за быстро написанную грамматику.
Например: если внутри ~ / .hgrc (домашний каталог пользователя в Linux / Unix) или mercurial.ini в Windows в домашнем каталоге пользователя, содержится следующая строка, и если вы делаете
, тогда вам никогда не будет предложено ввести учетные данные пользователя более одного раза на ссылку HTTP-репо. В ~ / .hgrc под [extensions] есть строка для "mercurial_keyring =" или "hgext.mercurial_keyring = /path/to/your/mercurial_keyring.py" .. там должна быть одна из этих строк.
Я пытаюсь выяснить, как установить свойство PREFIX, чтобы пользователь мог клонировать или выполнять любые операции Hg без запросов имени пользователя / пароля и не беспокоясь о том, что он упомянул в http: // .... / ... for имя сервера при использовании ссылки репозитория Hg. Это может быть IP, имя сервера или полное доменное имя сервера
источник
Установка mercurial_keyring на Mac OSX с использованием MacPorts:
Добавьте следующее в ~ / .hgrc:
источник
Если вы используете TortoiseHg, вам нужно выполнить эти три шага, показанные на прикрепленном снимке экрана, это добавит ваши учетные данные для конкретного репозитория, с которым вы работаете.
Для добавления глобальных настроек вы можете получить доступ к файлу C: \ users \ user.name \ mercurial.ini и добавить раздел
Надеюсь это поможет.
источник
Хотя это может или не может работать в вашей ситуации, я считаю полезным генерировать открытый / закрытый ключ, используя Pagety Putty.
Если вы также работаете с bitbucket (.org), это должно дать вам возможность предоставить открытый ключ для вашей учетной записи пользователя, и тогда команды, которые обращаются к хранилищу, будут автоматически защищены.
Если Pageant не запускается для вас после перезагрузки, вы можете добавить ярлык для Pageant в свое «меню Пуск» Windows, и для ярлыка может потребоваться заполнить «свойства» местоположением вашего частного (.ppk) файла. ,
После этого Mercurial и ваши локальные репозитории должны быть настроены на push / pull с использованием формата SSH.
Вот некоторые подробные инструкции на сайте Atlassian для Windows ИЛИ Mac / Linux.
Вам не нужно верить на мои слова, и нет никаких других способов сделать это. Возможно, эти шаги, описанные здесь больше для вас:
источник
Используйте расширение для ключей. Добавьте ниже запись в файл mercurial.ini.
[extensions] mercurial_keyring =
источник