Accès SSH entre 2 Mac pour utiliser Git et/ou mercurial

David_b

Membre expert
Club iGen
4 Décembre 2005
5 912
425
Jamais très loin de mon stylo
davidbosman.fr
Hello,

Je fais quelques tests de Git et Mercurial, en réseau. Cela marche parfaitement si je passe par un serveur centralisé en ligne comme GitHub ou Bitbucket. Mais, systématiquement, quand j'essaye de faire du push ou du pull en SSH entre 2 Mac sur mon réseau local, j'ai un message d'erreur. Même en tapant un truc comme :
J'ai droit à un "hg: command not found".
Même chose avec git.

Mercurial et Git sont installés.
L'accès SSH fonctionne.
Les deux Mac sont sous 10.6.6
Sur chaque Mac, git et hg sont installés (avec la même version) et sont dans le PATH. Et ils fonctionnent en local. C'est uniquement lors d'un accès réseau que ça refuse de fonctionner.

Je suis coincé, et je n'ai pas trouvé grand chose sur Google. Si quelqu'un avait une suggestion à faire, elle serait appréciée comme un bon verre d'eau fraîche après une traversée du désert ;)

Edit: Après coup, je me demande si j'aurais pas du poster ça dans "Internet et réseau", mais ça me semble plus lié au shell qu'à l'accès réseau...

---------- Nouveau message ajouté à 10h44 ---------- Le message précédent a été envoyé à 10h14 ----------

MAJ: je confirme que le bug semble bien lié au Mac qui sert de serveur, car si j'essaye de faire la même en accédant à un serveur sous GNU/Linux ça marche tout seul.
 
Et si tu indiques le chemin dans la commande, genre :
Bloc de code:
ssh [email protected] "/usr/local/bin/hg help"
qu'est-ce que ça donne ?

À part ça, il s'agit peut-être tout simplement de bien déterminer dans quel fichier tu as défini les chemins additionnels ; en général, je définis un fichier d'alias et de chemins que j'appelle dans mon '.bashrc'. Je vais vérifier que c'est bien ce fichier là qui convient (sinon, ce serait par exemple '.bash_profile').

---------- Nouveau message ajouté à 14h35 ---------- Le message précédent a été envoyé à 14h34 ----------

Bon en fait, je le définis dans les deux :rateau: Ceinture et bretelle, quoi ;)
 
Et si tu indiques le chemin dans la commande, genre :
Bloc de code:
ssh [email protected] "/usr/local/bin/hg help"
qu'est-ce que ça donne ?
Ca donne que ça marche. Tu es magnifique (et si je ne te l'ai pas dit plutôt, c'est que j'ai oublié) ;)

À part ça, il s'agit peut-être tout simplement de bien déterminer dans quel fichier tu as défini les chemins additionnels ; en général, je définis un fichier d'alias et de chemins que j'appelle dans mon '.bashrc'.
Pareil.
Je vais vérifier que c'est bien ce fichier là qui convient (sinon, ce serait par exemple '.bash_profile').

---------- Nouveau message ajouté à 14h35 ---------- Le message précédent a été envoyé à 14h34 ----------

Bon en fait, je le définis dans les deux :rateau: Ceinture et bretelle, quoi ;)
Bon, je vais creuser ça. Merci :)

---------- Nouveau message ajouté à 15h13 ---------- Le message précédent a été envoyé à 14h52 ----------

Non, même en la jouant ceinture et bretelles (.bash_profile), ça ne change rien. Diantre.

Si je me connecte en SSH et affiche le PATH, il est bon. Normal, quoi.
Mais en exécutant depuis la machine distante, j'ai toujours le message d'erreur (bash: hg: command not found). Idem pour Git.
 
Bizarre. J'ai pas mal de chemins différents indiqués dans la variable PATH, telle que modifiée par .bashrc.
J'ai donc appelé une commande présente dans /opt/local/bin (chemin ajouté pour MacPorts) et la commande est bien geniment trouvée.
 
Oui, je sais...

Les seules pistes que je trouve vont dans le même sens que ta suggestion (http://forum.webfaction.com/viewtopic.php?id=946, par exemple). Mais rien n'y fait (alors ça marche parfaitement si le serveur tourne sous Linux).

Je continue à me renseigner. Ce qui m'étonne vraiment, c'est de trouver si peu de cas semblables. Mon installation n'a rien d'exotique. J'ai un peu peur de chercher à côté de la plaque...
 
J'ai (tardivement) réalisé que j'ai moi aussi installer la commande hg sur ma machine.
En passant ta commande ssh j'ai bien l'aide qui s'affiche.

As-tu vérifié l'ensemble des fichiers possibles : /etc/bashrc, /etc/profile, etc. ?
À tout hasard, ce compte n'utiliserait-il pas un autre shell que bash ?
 
As-tu vérifié l'ensemble des fichiers possibles : /etc/bashrc, /etc/profile, etc. ?
Oui, mais je vais revérifier...
À tout hasard, ce compte n'utiliserait-il pas un autre shell que bash ?
Non.

mais bon, si ça marche chez toi... je vais retenter et tout reprendre à zéro.
Peut-être essayer depuis une session toute neuve. J en'y crois pas mais on ne sait jamais ;)