Как я могу получить hg для запроса моего имени пользователя / пароля HTTP auth в cygwin / windows? - PullRequest
10 голосов
/ 25 июня 2010

Дома это отлично работает.Я сейчас на другом компьютере (использую cygwin) и hg push не будет запрашивать имя пользователя / пароль:

user@localhost /cygdrive/d/repos/upthescala/viewprotect
$ hg push https://viewprotect.googlecode.com/hg/
pushing to https://viewprotect.googlecode.com/hg/
searching for changes
abort: http authorization required

Вот содержимое моего ~ / .hgrc:

[http_proxy]
host=someproxy:8080

[ui]
username = My Name <myemail>

Заранее благодарим за любой совет!

Примечание: похоже, это проблема Cygwin.Когда я пытаюсь из командной строки Windows (cmd.exe), он работает как ожидалось:

D:\repos\upthescala\viewprotect>hg push https://viewprotect.googlecode.com/hg/
pushing to https://viewprotect.googlecode.com/hg/
searching for changes
http authorization required
realm: Google Code Mercurial Repository
user: myemailaddress
password: *********

remote: Success.

- LES

Ответы [ 3 ]

8 голосов
/ 20 июня 2011

Это может быть вызвано использованием версии Mercurial, связанной с консольной подсистемой Windows.Двоичный файл, распространяемый вместе с Tortoise, попадает в эту категорию.Если это так, Mercurial ожидает использовать консольную подсистему для запроса учетных данных, но не находит ее при запуске из оболочки Cygwin.В моем случае установка и использование Cycuwin-версии Mercurial исправили проблему, в дополнение к исправлению цветного вывода.Чтобы проверить, какую версию вы используете, запустите 'which hg' (но вы, вероятно, это уже знали).

8 голосов
/ 14 июля 2011

Добавить к комментарию Андрея:

установка и использование Cycuwin Mercurial исправили проблему,

Это также устранило проблему для меня, но вызвало еще одну проблему, на которую у меня ушло некоторое время, чтобы разобраться. При использовании версии hg для Cygwin все файлы, которые были клонированы под TortoiseHG, отображались как измененные, когда я запускал hg status, но при запуске hg diff.

ни для одного из них не было показано никаких различий

Проблема заключалась в том, что разрешения не совпадали. Запуск chmod 644 .* -R в каждом репо решил эту проблему.

6 голосов
/ 26 июня 2010

Поскольку это HTTP, вы всегда можете ввести имя пользователя и пароль прямо в URL.Это работает на любом веб-сайте, использующем http auth и в любом браузере.

hg push https://myemailaddress:*********@viewprotect.googlecode.com/hg/

Альтернативно, более новые версии Mercurial имеют раздел авторизации , который вы можете использовать.

Кстати,ужасный пароль.Вы должны придумать что-то лучше, чем восемь звезд.

...