// codeart.ru / Вопрос/Ответ / Клонирование репозиториев Mercurial через SSH Форум

Клонирование репозиториев Mercurial через SSH rss подписка

Автор: 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!

Точно знаю, что репозиторий по указанному пути есть. Но почему выдается ошибка? Чтобы разобраться добавил в команду ключ “-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!

Из первой строки видно, что Mercurial пытается использовать относительный путь, вместо абсолютного. Чтобы исправить добавил еще один слэш перед “home” и все заработало как часы. Итоговая команда выглядит так:

ssh clone ssh://my-remote-site//home/username/repo/project
  1. Бред какой-то. С двумя слешами некрасиво.

  2. Можно без двух слэшей, тогда нужно указывать путь относительно домашней директории.

  3. А если выдается такая ошибка? При чем это сто пудово при соединении уже, так как если настроено не верно то и ошибки выдаются соответствующие..а тут такая фот лабудень вылезла:

    remote: bash: hg: ╦╧═┴╬─┴ ╬┼ ╬┴╩─┼╬┴
    abort: no suitable response from remote hg!

  4. Сергей, попробуй запустить с ключом -v посмотреть, что там у тебя выполняется.

  5. Я запускал с -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!

  6. Сергей, а “test.xantach.ru” - в домашней директории создана?

  7. да это рабочий сайт, с которым даже работают другие люди..ну вообщем разобрались, необходимо было добавить в mercurial.ini строчки:

    [ui]
    remotecmd = ~/.env/bin/hg
    [paths]
    default = ssh://u242713@u242713.ssh.masterhost.ru/test.xantach.ru/www

    теперь все работает клонирует нормально..вообщем как это объяснить я не знаю))думаю более знающие люди поймут что к чему.

  8. Вот эта часть конфига “remotecmd = ~/.env/bin/hg” говорит о том, что у Вас hg не прописан в путях пользователя. А значит те кракозябли, которые были в выводе команды не что иное как фраза “команда не найдена”.

Leave a Reply

« Каким должен быть правильный лог-файл Фрилансинг. Легких денег не бывает! »