2010-12-13 1 views
60

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

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

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

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

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

Ртуть установлен на сервере, однако.

Я старался следовать инструкциям на this website.

ответ

35

Похоже, что 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 вместе с номером пути и номера файла конфигурации, который определяет каждое значение конфигурации.

+1

Я последовал за эти направления и добавил remotecmd = ~/bin/Hg в файл hgrc в моем проекте, и в моей домашней папке, однако он не кажется, считают, что. Однако добавление --remotecmd к команде, заданной в вопросе, работает. Как я могу получить его, поэтому мне не нужно вводить его каждый раз. – Josh

+0

Поместите его в конфигурационный файл '.hgrc' в разделе' [ui] '. См. Комментарий в ответе. –

+0

интересный. это то, что я сделал, но он все еще не работает. – Josh

4

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

89

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

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

Если бы тот же ошибка, и это исправлено - спасибо. –

+0

добавить [ui] remotecmd =/path/to/hg, а также использовать выше строки для подключения – user749665

+0

Работал для меня. Благодаря! – Stephane

2

На webfactional я должен был добавить:

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

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

+0

Добавление 'remotecmd' к локальному' .hgrc' исправило проблему пути. Однако в моей конкретной установке 'remotecmd' ввел еще одну ошибку:' remote: conq: недействительный синтаксис команды'. Просто добавить значение PATH в '.bashrc' (в webfaction) было достаточно и действительно решило любую проблему для меня. – Paolo

0

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

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

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

Довольно полезно для меня был следующий сложный guide to install mercurial on a Bluehost hosting server.