Я пытаюсь настроить Mercurial для использования как с сервером Windows (freeSSHd), так и с клиентом (как с командной строкой, так и с TortoiseHG). Я использую самые последние версии всего... все загруженные за последние несколько дней. Используя открытый ключ auth, я смог подключиться к серверу, и я могу использовать plink для выполнения "hg-версии" и получить ответ, но когда я пытаюсь клонировать репозиторий с ssh-сервера, команда появляется похмелья. Выполнение с -v дает:
hg -v clone ssh://<username>@<server>//hg/repositoryA testRepositoryA
running "plink.exe -i "<path to private key file>" <username>@<server> "hg -R /hg/repositoryA serve --stdio""
с чем-то более новым. Выполнение команды hg serve непосредственно на сервере дает явно реагирующий сервер Mercurial, но клиенты, похоже, не делают никаких дальнейших запросов.
Запуск "hg serve" в каталоге репозитория и клонирование над http работает отлично.
Что я должен искать, чтобы помочь отладить это? Есть ли что-то, что клиенты (hg и TortoiseHG) не отправляют для продолжения потока запросов?
Дополнительная информация: Если я перейду на недействительный репозиторий на целевой машине, отобразится соответствующая ошибка, поэтому появится, что удаленный hg запущен и правильно оценивает путь.
Запуск с --debug и -traceback приводит к:
sending hello command
sending between command
Он висит здесь, пока я не CTRL-C
Traceback (most recent call last):
File "mercurial\dispatch.pyo", line 46, in _runcatch
File "mercurial\dispatch.pyo", line 452, in _dispatch
File "mercurial\dispatch.pyo", line 320, in runcommand
File "mercurial\dispatch.pyo", line 504, in _runcommand
File "mercurial\dispatch.pyo", line 457, in checkargs
File "mercurial\dispatch.pyo", line 451, in <lambda>
File "mercurial\util.pyo", line 402, in check
File "mercurial\commands.pyo", line 636, in clone
File "mercurial\hg.pyo", line 187, in clone
File "mercurial\hg.pyo", line 63, in repository
File "mercurial\sshrepo.pyo", line 51, in __init__
File "mercurial\sshrepo.pyo", line 73, in validate_repo
KeyboardInterrupt
interrupted!
Ответ на Ryan: Кажется, что нет никакого использования ЦП или увеличения использования памяти на сервере. Кажется, он ждет, пока клиент отправит запрос или что-то подобное.
11/19/2009: Дополнительная информация: Проблема, безусловно, находится на стороне freeSSHd/server уравнения. Соединение с битбакетом поверх ssh с одним и тем же набором клавиш отлично работает. Все еще работаю над этим.