En un gancho de post-commit de git, ¿cómo consigo una list de los files que se cambiaron?

Tratando de averiguar cuánto time se pasó en una confirmación en un enganche post-commit de Git.

Tengo un gancho git post-commit que envía información sobre una API sobre la confirmación. Lo que quiero hacer es averiguar cuánto time se pasó en la confirmación. Aproximadamente.

Mi suposition es que se puede calcular un valor aproximado al encontrar el mínimo de todo el time de creación y time de modificación de los files involucrados y compararlo con el time máximo de creación y modificación.

Puedo hacer esto fácilmente en una secuencia de commands de Python. Si alguien me dice que fueron los files "foo.txt", "bar.txt" y "ruta / bla.txt" puedo rápidamente hacer aritmética en un script basado en estos files.

Entonces, en un gancho de post-commit de git, ¿cómo obtengo una list de los files que fueron cambiados?

Al escribir scripts en git, debe intentar seguir los commands de plomería ; es less probable que su formatting cambie y sea más fácil de analizar. Aquí hay un command que muestra los nombres de las routes que cambiaron en una confirmación:

 git diff-tree -r --name-only --no-commit-id <tree-ish> 

Aparte de eso, es posible que desee examinar el índice, ya que contiene marcas de time sobre cuándo se organizaron los files, lo que podría darle una ventaja adicional; sin embargo, no creo que haya una forma de acceder a esta información.

git log --name-only -n1 estado investigando y descubrí que git log --name-only -n1 es el mejor enfoque. No es difícil get el min. y max. marcas de time fuera de los files haciendo un poco de coincidencia de cadenas y utilizando el module os.stat Python.

Como solución general, todavía no es genial porque los times de modificación en los files realmente no reflejan la realidad del time que se pasa realmente.