раздел .hgrc - PullRequest
       16

раздел .hgrc

1 голос
/ 04 декабря 2010

Я правильно установил Mercurial в локальной сети, и теперь у меня есть hgusers, и когда кто-то пытается «нажать», его просят ввести пароль, если он вводит правильный пароль, пароль принят.

Вопрос в том, как я могу ввести имя пользователя и пароль один раз в файле каждого пользователя .hgrc? Я попробовал следующее, но это не работает:

[auth]
localhost.prefix = http://192.168.0.1/hg/
localhost.username = frodo
localhost.password = ok123

Я получаю:

searching for changes
abort: authorization failed

Пожалуйста, помогите. Спасибо.

Ответы [ 3 ]

3 голосов
/ 25 октября 2012

Вот почему это не сработало и как его следует настроить:

Вы можете либо указать опцию «схемы», либо пропустить ее. Опция «Схемы» по умолчанию - «https». Таким образом, если вы не включили схему в опцию 'prefix' , а не указали явно опцию 'Programs', вы получите следующее:

# you specify:
[auth]
repo.prefix = server/repo_path
repo.username = username
repo.password = password

# you get:
[auth]
repo.prefix = server/repo_path
repo.username = username
repo.password = password
repo.schemes = https

Результирующий конфиг не соответствует http://server/repo_path, и аутентификация не работает.

Я рекомендую всегда указывать схему либо в префиксе, либо в опции конфигурации «схемы» для устранения неоднозначности.

И это объясняется в документах , но вы должны очень внимательно прочитать его, чтобы получить.

1 голос
/ 04 декабря 2010

Похоже, у вас правильный синтаксис. Две потенциальные проблемы:

(a) Возможно, у вас неправильное значение префикса. Должны ли вы иметь https вместо http?

(b) Вы уверены, что имя пользователя и пароль верны на удаленном компьютере?

Можете ли вы войти на сервер с помощью имени пользователя и пароля?

Кроме того, у меня есть длинный ответ на подобный вопрос здесь

Что сработало для меня

[ui]
username=Chris McCauley <chris.mccauley@mydomain.com>

[auth]
repo.prefix = https://server/repo_path
repo.username = username
repo.password = password

Chris

0 голосов
/ 04 декабря 2010

Убедитесь, что вы используете относительно свежую версию Mercurial.Я не думаю, что раздел [auth] существовал до 1.6.

В качестве запасного варианта вы всегда можете ввести имя пользователя и пароль прямо в URL HTTP (работает с любым сайтом HTTP):

http://frodo:ok123@192.168.0.1/hg/

но если вы можете заставить его работать [auth] - более чистый маршрут.

...