Pregunta

Problema: al parecer, los scripts en el .git / engancha directorio depende de la coincidencia de nombre de:

post-commit
pre-commit
pre-rebase

etc ...

No se requiere ningún concepto de "extensión" debido a la "línea tinglado" indica cómo el archivo debe funcionar, siempre que es ejecutable y se ejecuta en su máquina Linux.

El problema es cuando usted tiene algunas secuencias de comandos que desea ejecutar en una máquina Windows.

Pregunta:? ¿Hay una manera de ejecutar los scripts gancho que se pueden entender en una máquina Windows

¿Fue útil?

Solución

No creo que Windows tiene el concepto de la ejecución de archivos de extensión-menos. Soluciones provisionales serían 1) usar Cygwin git bajo bash, donde todo el tinglado funciona el negocio o 2) un corte en la versión de Windows Git que realmente analiza las propias líneas shebang y carga el intérprete adecuado. Puedo ver todo tipo de objeciones filosóficas a este último, por lo que supongo que eso no va a pasar ...

Otros consejos

Sé que soy muy por detrás en esto, pero tengo una solución para usted. Si está utilizando Python, añadir ".py" a la variable de entorno PATHEXT (Panel de control, Sistema, avanzada, variables de entorno). Lo mismo sucede con su lenguaje de script específico. A continuación, el nombre de los ganchos post-commit.py, pre-commit.py, etc. Cuando un programa solicita Windows para ejecutar el "post-commit" archivo en un directorio determinado, Windows buscará a través PATHEXT en orden hasta que encuentre una coincidencia de archivo "post-commit.extension", que luego se ejecutará. Hice esto hace mucho tiempo con ganchos de SVN en Windows.

De hecho, me conformé con la opción 3):

Crear un Windows "envoltorio" script que invoca git y invoca ningún gancho asociados que desea ejecutar. La desventaja es que tengo que configurar el programa envoltorio para hacer lo que Git lo habría hecho de forma automática si tan sólo pudiera utilizar sólo los archivos de gancho estándar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top