Question

Problème: apparemment les scripts dans le répertoire .git / crochets dépendent du nom de fichier correspondant à l'un des:

post-commit
pre-commit
pre-rebase

etc ...

Aucun concept de « extension de fichier » est nécessaire parce que la « ligne tralala » indique comment le fichier doit fonctionner, tant qu'il est exécutable et exécuté sur votre boîte Linux.

Le problème est quand vous avez des scripts que vous souhaitez exécuter sur une boîte de Windows.

Question: Est-il possible d'exécuter les scripts de crochet qui peuvent être compris sur une machine Windows

?
Était-ce utile?

La solution

Je ne pense pas que Windows a le concept d'exécuter des fichiers d'extension en moins. Contournements seraient à 1) utiliser git sous Cygwin bash, où toute activité tralala fonctionne ou 2) une entaille dans la version git Windows qui en fait les lignes parse de Shebang lui-même et charge l'interpréteur approprié. Je peux voir toutes sortes d'objections philosophiques à ce dernier, donc je suppose que ça ne va pas se passer ...

Autres conseils

Je sais que je suis loin derrière à ce sujet, mais j'ai une solution pour vous. Si vous utilisez python, ajouter ".py" à la variable d'environnement PATHEXT (Panneau de configuration du système, Advanced, Variables d'environnement). De même pour votre langage de script spécifique. Nommez ensuite les crochets post-commit.py, pre-commit.py, etc. Lorsqu'un programme demande de Windows pour exécuter le fichier « post-commit » dans un répertoire, Windows va chercher dans PATHEXT pour jusqu'à ce qu'il trouve un fichier correspondant « post-commit.extension », qu'il exécutera alors. Je l'ai fait il y a longtemps avec des crochets svn sous Windows.

En fait, j'installé pour l'option 3):

Créer un script "wrapper" Windows qui invoque git et invoque des crochets associés que je veux courir. L'inconvénient est que je dois configurer le programme d'emballage pour faire ce que git aurait fait automatiquement si seulement je pouvais utiliser les fichiers crochet standard.

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