6
votes

Git Bash fonctionne avec Cygwin

J'ai installé Git-Bash, mais je ne pourrai pas accéder à tous les outils (Vim, Vimdio) que je peux accéder à Cygwin. Peut-il être défini dans l'un des fichiers de configuration GIT?


0 commentaires

3 Réponses :


3
votes

Git Bash et des outils associés dans le package MSYSGIT sont des exécutables Pure Windows.

C'est pourquoi vous ne pouvez pas exécuter des outils Cygwin dans Git Bash, car ils sont pas les programmes Windows (ils ont besoin du cygwin.dll , voir @FVU Commenter ci-dessous).

Si vous souhaitez utiliser Git avec des outils Cygwin, vous devez installer le package GIT pour Cygwin.


3 commentaires

Les programmes compilés Cygwin sont des programmes Windows, mais ils dépendent d'une émulation de certaines fonctionnalités de POSIX, telles que fournies par la DLL Cygwin. Plus d'infos ici . Mais cela ne change pas votre conclusion.


Alors pourquoi est-il possible d'exécuter des outils Cygwin à partir de cmd.exe (qui est une exécutable pure Windows), mais pas git bash?


Alors pourquoi est-il possible d'exécuter Cygwin rsync de git bash, après avoir ajouté c: \ cygwin64 \ bin à la variable environnement ? Voir la réponse ci-dessous par Keith Tyler.



3
votes

Vous devrez peut-être simplement ajouter le répertoire de bin Cygwin à votre variable de path $ dans Git Bash.

Malgré ce que tout le monde semble penser qu'ils savent, Git Bash est en fait à peu près chengwin reconditionné. VIZ: https://github.com/msysgit/msys/tree/master/winSup / cygwin


0 commentaires

0
votes

Si vous ajoutez Thecygwin bin répertoire à votre € chemin variable dans git bash, assurez-vous d'utiliser GIT 2.27 (Q2 2020).

utilitaires exécutées via le RUN_COMMAND () API n'a pas été génétiqué correctement sur Cygwin, lorsque les chemins d'accès sont donnés en tant que chemin complet avec les backslashes.

voir COMMIT 05AC858 (27 mars 2020) par Andras Kucsma ( R0MAI ) .
(fusionné par Junio ​​C Hamano - Gitster - dans COMMIT D01B722 , 22 avril 2020)

Commande d'exécution : Cherchez correctement sur cygwin

Signé-by: andras kucsma

On Cygwin, le Codepath pour les systèmes de type POSIX est pris dans Run-Command.c :: start_command (). La fonction préparer_cmd () est appelée pour décider si la commande doit être levée sur le chemin. La logique Il y a pour faire le chemin-chemin si et seulement s'il n'a pas de barre oblique "/". Si ce test passe, nous essayons de tenter d'exécuter la commande en ajoutant la chaîne après chaque composant séparé du point de chemin du chemin.

L'environnement CYGWIN prend en charge les chemins de style Windows et POSIX, de sorte que les BLASHES BLOWSLAHES '/ BACK' \ 'peuvent être utilisés en tant que séparateurs de répertoires pour tout programme externe.

Exemples pour les chaînes de trajectoire qui sont à la recherche de manière incorrecte dans le chemin au lieu d'être exécutées de même que: xxx

Pour gérer ceux-ci, la logique de détection de la recherche dans préparer_cmd () est enseignée à savoir sur ce quirk Cygwin, en introduisant has_dir_sep ( Chemin) Fonction d'assistance à abstrait de la différence entre les systèmes VRAI POSIX et CYGWIN.


0 commentaires