J'ai essayé toute la journée de faire fonctionner git à l'intérieur des coquilles emacs (version 24) sur Windows 7 x86. (*) Le coupable est en fait ssh, ce qui ne marchera pas. Par exemple, en tapant:Quelle est la magie dans "Github pour Windows" qui le fait fonctionner dans emacs?
ssh -T [email protected]
se bloque toujours, quel que soit le type de shell utilisé à l'intérieur emacs (le shell emacs (alias eshell) ou msys bash). En dehors d'emacs, cela fonctionne très bien (dans bash ou cmd.exe).
Notez le paramètre -T
, qui dit "n'allouez pas un pseudo-tty" (emacs ne peut pas allouer un pseudo-tty, du moins pas sous Windows). Donc ce n'est pas le problème.
J'ai essayé d'utiliser ssh.exe à partir de MSYS (pas msys-git) ou "Git for Windows". Il faut se méfier! "Git for Windows" n'est pas la même chose que "Github for Windows". "Git for Windows" est un programme d'installation pour les binaires et les utilitaires de support obtenus en construisant git sous msys-git (un environnement de développement existant uniquement dans ce but). Pour cette raison, il "Git pour Windows" souvent appelé par erreur msys-git.
Entrez "Github pour Windows". En utilisant leur version de git/ssh, je suis capable d'utiliser git et ssh sous les shells emacs. Pour autant que je sache, le programme utilise simplement "Git for Windows" sous les enveloppes. Cependant, c'est une version modifiée. Par exemple, il y a un fichier etc/ssh/ssh_config
qui a été ajouté.
J'ai déjà déterminé que certaines des configurations de etc/ssh/ssh_config
sont primordiales pour que ssh fonctionne dans emacs. Cependant, cela seul n'explique pas pourquoi cela fonctionne, car l'utilisation de ce fichier de configuration avec "Git for Windows" ne fait pas l'affaire.
Ce que j'aimerais savoir, c'est ce que l'équipe Github a apporté à «Git for Windows» pour que ça fonctionne dans emacs. Je ne suis même pas sûr que "travailler dans emacs" était un objectif visé. C'est pourquoi la réponse à cette question est importante: si une future version de "Github for Windows" ne respecte pas la compatibilité emacs, je ne serai plus capable d'utiliser git dans les shells emacs.
(*) Oui, je sais tout sur vc-git, magit, clochard, etc. Je ne suis pas intéressé.
J'ai en effet ssh-agent en arrière-plan. Donc, github pour Windows doit prendre soin de cela au démarrage. – Norswap