2012-07-06 19 views
8

Tengo un gancho post-commit que hace cosas sin ruby. Funciona muy bien, pero en algunos casos me gustaría omitir la ejecución del código cuando hago una rebase o cuando hago un commit - enmienda.Git post commit: skip --amend y rebase

¿Alguien tiene una idea de cómo no pude desencadenar el enganche post-commit en estos casos o en algún otro trabajo?

Greg

+0

No puedo hacer que este gancho se ejecute con 'git commit --amend', y estoy bastante seguro de que nunca me ha pasado. Tengo curiosidad por saber si eso sigue siendo un problema para ti y en qué circunstancias sucede. – phils

Respuesta

6

Cuando rebase, hay un directorio llamado rebase-merge presente en la carpeta .git. Ese podría ser un enfoque para desactivar el gancho durante un rebase (el comienzo de un rebase por cierto se indica con el gancho pre-rebase).

Sin embargo, respecto al --amend, no puedo ayudarlo.

+0

¿Quiere decir detectar la presencia de la carpeta o algo así? – Gregory

+0

Sí. No conozco el rubí lo suficiente como para poder presentar un ejemplo, pero seguramente también podría verificar en ruby ​​si hay una carpeta llamada '../ rebase-merge' (relativa al directorio del gancho) cuando se llama al gancho post-commit – eckes

+0

Ok gracias por tus respuestas! – Gregory