Git recibir / actualizar ganchos y nuevas sucursales

Tengo un problema con el enlace de 'actualización'. En el caso de una nueva sucursal, obtiene un 0000000000000000000000000000000000000000 como 'oldrev'. Y no sé cómo manejar ese caso.

Tenemos el requisito de que cada mensaje de confirmación haga referencia a un problema válido de Jira. Así que instalé un enlace de "actualización" en nuestro repositorio central. Ese gancho recibe un "oldrev" y un "newrev". Luego los paso a "git rev-list" así:

git rev-list $oldrev..$newrev

Esto me da la lista de todas las revoluciones, que luego puedo recorrer y hacer lo que sea necesario.

El problema es que, cuando el usuario empuja una nueva rama, el gancho obtiene 0000000000000000000000000000000000000000 como oldrev. Y "git rev-list" simplemente se queja con:

fatal: Invalid revision range 0000000000000000000000000000000000000000..21bac83b2

Entonces, ¿cómo obtengo la lista de todas las revoluciones que hay en esa nueva sucursal? He buscado en la red desde hace bastante tiempo y no he encontrado nada. El ejemplo de ganchos que encontré

no maneje el problema y falle con el mensaje de error anteriorintenta corregir el problema de forma incorrecta estableciendo oldrev en "", que devuelve los resultados incorrectos de la lista de revolucionessimplemente rendirse cuando se encuentran con ese viejo rev

Ninguno de estos suena particularmente emocionante.

Entonces, ¿alguien tiene alguna idea de cómo obtener la respuesta correcta en ese caso? Estaba pensando en consultar git para "darme todas las revoluciones a las que se pueda acceder desde newrev, pero no desde cualquiera de las otras ramas (= todas las ramas excepto la nueva)". Pero incluso eso daría una respuesta incorrecta si hubiera habido una fusión de la nueva sucursal con cualquiera de las antiguas.

Respuestas a la pregunta(4)

Su respuesta a la pregunta