2010-12-13 70 views
60

Je vais avoir quelques difficultés de clonage mon dépôt Mercurial sur ssh.Le clonage d'un dépôt Mercurial sur SSH

Voici ce que j'ai essayé:

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

Il me donne cette erreur:

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

hg est installé sur le serveur, cependant.

je tentais de suivre les instructions sur this website.

Répondre

35

Sons comme hg est pas sur votre chemin. La FAQ Mercurial mentionne les correctifs possibles pour ce problème: FAQ/CommonProblems.

Ajoutez la valeur remotecmd à votre configuration Mercurial en ouvrant ~/.hgrc (ou Mercurial.ini sous Windows) sur votre machine cliente et en ajoutant ce qui suit:

[ui] 
remotecmd = /path/to/hg 

/path/to/hg est le chemin de la commande hg sur le serveur distant .

Si vous rencontrez des problèmes avec votre configuration Mercurial, vous pouvez utiliser la commande hg showconfig --debug pour obtenir une liste complète de vos paramètres Mercurial ainsi que le chemin et le numéro de ligne du fichier de configuration qui définit chaque valeur de configuration.

+1

suivant j'ai suivi ces instructions et a ajouté remotecmd = ~/bin/hg dans le fichier hgrc dans mon projet et dans mon dossier, mais il ne semble pas trouver ça. Ajouter --remotecmd à la commande donnée dans la question fonctionne, cependant. Comment puis-je obtenir si je n'ai pas le saisir à chaque fois – Josh

+0

le mettre dans votre fichier de configuration '.hgrc' dans la section' [ui] '. Voir le commentaire en réponse. –

+0

intéressant. c'est ce que j'ai fait, mais ça ne marche toujours pas – Josh

4

On dirait que Mercurial est pas de votre utilisateur PATH sur le serveur distant.

89

Vous avez besoin d'un double // après le nom d'hôte i.e. .:

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

avait le même erreur et cela l'a corrigé - merci. –

+0

ajouter [ui] remotecmd =/path/to/hg ainsi que l'utilisation de la chaîne ci-dessus pour la connexion – user749665

+0

A travaillé pour moi. Merci! – Stephane

2

Sur webfactional je devais ajouter:

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

à .bashrc pour le faire fonctionner. (également suivi les conseils remotecmd ci-dessus)

+0

L'ajout de 'remotecmd' à un' .hgrc' local a corrigé le problème du chemin. Cependant, dans ma configuration particulière, 'remotecmd' a introduit une autre erreur:' remote: conq: syntaxe de commande invalide'. Juste ajouter la valeur de PATH à '.bashrc' (sur webfaction) était suffisant et a vraiment résolu n'importe quel problème pour moi. – Paolo

0

Sur le serveur, tapez: nano ~/.bashrc modifier le fichier final en ajoutant:

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

Dans l'hypothèse où ~/packages est le dossier dans lequel Mercurial a été installé. Après le montage, terminez avec source ~/.bashrc et essayez à nouveau.

Jolie utile pour moi était le complexe guide to install mercurial on a Bluehost hosting server.