Question

GIT fonctionne sur un serveur Solaris.

À partir d'une machine Windows, j'ai installé cygwin pour tenter de cloner un référentiel hébergé sur le serveur.

Je fais ce qui suit:

$ git clone username@server:project.git
ksh: git-upload-pack: not found

Alors j'essaie

$ ssh username@server echo \$PATH
/usr/bin

Il semble que git ne se trouve pas dans / usr / bin / mais dans / usr / local / bin /. J'ai essayé de changer le PATH dans .bashrc sur mon répertoire personnel sur le serveur pour ajouter / usr / local / bin / ... mais cela ne semble pas fonctionner.

Qu'est-ce que je fais de travers?

Était-ce utile?

La solution

~ / .bashrc est lu par des shells autres que ceux qui se connectent, mais uniquement par bash , et votre serveur utilise ksh .
~ / .profile est (je pense) un fichier d'initialisation universel, mais il est lu uniquement par les coquilles de connexion .
~ / .kshrc est un fichier de démarrage typique lu par ksh, mais uniquement si la ENV variable d'environnement est définie sur cette variable (mais voir SendEnv dans la page de manuel ssh_config).

Vous pouvez également toujours transmettre l'option - upload-pack = / usr / local / bin / git-upload-pack à "git clone". (puis définissez la variable de configuration remote.origin.uploadpack ) si vous ne pouvez pas définir PATH sur remote. Et bien sûr, remote.origin.receivepack s'il ne trouve pas git-receive-pack.

Autres conseils

On dirait que votre shell sur la machine Solaris est ksh et non bash, c'est pourquoi votre fichier .bashrc n'est pas en cours de lecture. Essayez de mettre le changement dans .profile

Je devais ajouter / usr / local / bin sur mon chemin dans .profile pour que celui-ci soit récupéré sur solaris (et que git upload-pack fonctionne). J'ai toujours pensé que c'étaient mes boîtes mal configurées, mais peut-être pas aussi ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top