Клонирование репозиториев Mercurial через SSH 
Автор: Evgeny Sergeev
Сегодня столкнулся с проблемой при клонировании удаленного репозитория Mercurial через SSH. Проблема такая, даю команду (домен и название проекта изменены):
ssh clone ssh://my-remote-site/home/username/repo/project
В результате выдается ошибка:
remote: abort: There is no Mercurial repository here (.hg not found)!
abort: no suitable response from remote hg!
abort: no suitable response from remote hg!
Точно знаю, что репозиторий по указанному пути есть. Но почему выдается ошибка? Чтобы разобраться добавил в команду ключ “-v”. Вывод при это изменился следующим образом:
running ssh my-remote-site “hg -R home/username/repo/project serve –stdio”
remote: abort: There is no Mercurial repository here (.hg not found)!
abort: no suitable response from remote hg!
remote: abort: There is no Mercurial repository here (.hg not found)!
abort: no suitable response from remote hg!
Из первой строки видно, что Mercurial пытается использовать относительный путь, вместо абсолютного. Чтобы исправить добавил еще один слэш перед “home” и все заработало как часы. Итоговая команда выглядит так:
ssh clone ssh://my-remote-site//home/username/repo/project
подписаться на блог
Тормоз
Гость
Бред какой-то. С двумя слешами некрасиво.
Evgeny Sergeev
Веб-разработчик, автор блога codeart.ru
Можно без двух слэшей, тогда нужно указывать путь относительно домашней директории.
Сергей
Гость
А если выдается такая ошибка? При чем это сто пудово при соединении уже, так как если настроено не верно то и ошибки выдаются соответствующие..а тут такая фот лабудень вылезла:
remote: bash: hg: ╦╧═┴╬─┴ ╬┼ ╬┴╩─┼╬┴
abort: no suitable response from remote hg!
Evgeny Sergeev
Веб-разработчик, автор блога codeart.ru
Сергей, попробуй запустить с ключом -v посмотреть, что там у тебя выполняется.
Сергей
Гость
Я запускал с -v, но он молчит))вообщем вот что выдает:
C:\far>hg clone ssh://u242713@u242713.ssh.masterhost.ru/test.xantach.ru/www -v
running “plink -ssh -i “C:/plink/key.ppk” -C -agent u242713@u242713.ssh.masterho
st.ru “hg -R test.xantach.ru/www serve –stdio”"
remote: bash: hg: ╦╧═┴╬─┴ ╬┼ ╬┴╩─┼╬┴
abort: no suitable response from remote hg!
это если через Plink коннектиться, если через Tortoise то вот:
C:\far>hg clone ssh://u242713@u242713.ssh.masterhost.ru/test.xantach.ru/www -v
running “”TortoisePlink.exe” -ssh -2 u242713@u242713.ssh.masterhost.ru “hg -R t
st.xantach.ru/www serve –stdio”"
remote: bash: hg: ╦╧═┴╬─┴ ╬┼ ╬┴╩─┼╬┴
abort: no suitable response from remote hg!
Evgeny Sergeev
Веб-разработчик, автор блога codeart.ru
Сергей, а “test.xantach.ru” - в домашней директории создана?
Сергей
Гость
да это рабочий сайт, с которым даже работают другие люди..ну вообщем разобрались, необходимо было добавить в mercurial.ini строчки:
[ui]
remotecmd = ~/.env/bin/hg
[paths]
default = ssh://u242713@u242713.ssh.masterhost.ru/test.xantach.ru/www
теперь все работает клонирует нормально..вообщем как это объяснить я не знаю))думаю более знающие люди поймут что к чему.
Evgeny Sergeev
Веб-разработчик, автор блога codeart.ru
Вот эта часть конфига “remotecmd = ~/.env/bin/hg” говорит о том, что у Вас hg не прописан в путях пользователя. А значит те кракозябли, которые были в выводе команды не что иное как фраза “команда не найдена”.
Leave a Reply