¿Es posible que un gancho git se sobrescriba?

Supongamos que tengo un script post-merge que también está almacenado en otro lugar del repository. Quiero que los ganchos se actualicen a la última versión.

¿Por qué? La razón principal detrás de esto es que las secuencias de commands de enlace también se pueden implementar con un solo command sin tener que acceder a múltiples serveres y desplegar el código manualmente en cada server. Los scripts de gancho dependen del esquema db, que puede estar sujeto a cambios.

En este escenario, se coloca un candado .git/hooks/post-merge para que no se sobrescriba de la manera más fácil.

Si utilicé otro gancho para actualizar el guión, como pre-merge , tendría éxito, pero pre-merge no tiene aún conocimiento del último guión post-merge en ese punto, sería un commit detrás.

Alguna idea para este problema?

Bueno. Encontrado una posible cura

Al final del script, abra un process independiente que hará el trabajo de sobreescritura. Pasarle el PID de post-merge , para que pueda verificar continuamente si el script post-merge aún se está ejecutando. Si no, actualiza la secuencia de commands a la última versión y sale.