Клонирование хранилища Mercurial через SSH

У меня возникли трудности с клонированием моего ртутного хранилища поверх ssh.

Вот что я пробовал:

hg clone ssh://[email protected]/path/to/projectname projectname

Это дает мне эту ошибку:

remote: bash: hg: command not found
abort: no suitable response from remote hg!

hg установлен на сервере.

Я старался следовать инструкциям этого веб-сайта.

Ответ 1

Звучит как hg не на вашем пути. В Mercurial FAQ упоминаются возможные исправления для этой проблемы: FAQ/CommonProblems.

Добавьте значение remotecmd в свою конфигурацию Mercurial, открыв ~/.hgrc (или Mercurial.ini в Windows) на вашем клиентском компьютере и добавив следующее:

[ui]
remotecmd = /path/to/hg

где /path/to/hg - это путь к команде hg на удаленном сервере.

Если у вас возникли проблемы с конфигурацией Mercurial, вы можете использовать команду hg showconfig --debug для получения полного списка ваших настроек Mercurial вместе с номером пути и номера файла конфигурации, который определяет каждое значение конфигурации.

Ответ 2

Вам нужно двойное//после имени хоста i.e.:

hg clone ssh://[email protected]//path/to/projectname projectname

Ответ 3

Похоже, что mercurial не принадлежит вашему пользователю PATH на удаленном сервере.

Ответ 4

В webfactional мне пришлось добавить:

export PATH=$PATH:/home/<user>/bin

в .bashrc, чтобы заставить его работать. (также следует рекомендация remotecmd выше)

Ответ 5

На сервере введите: nano ~/.bashrc end отредактируйте файл, добавив:

# User specific aliases and functions
export PATH=$PATH:$HOME/packages/mercurial

В предположении, что ~/packages - это папка, в которой установлен меркурий. После редактирования закончите с помощью source ~/.bashrc и повторите попытку.

Довольно полезным для меня был следующий подробный руководство по установке mercurial на сервере хостинга Bluehost.