Mostrar date del compromiso en gitk en lugar de date de autor

Estoy usando gitk para navegar en mi git repo y me gustaría imprimir la date de confirmación de la confirmación en lugar de la date de autor en gitk (en la tercera columna).

¿Puedes decirme cómo hacerlo?

enter image description here

Modificar gitk. (Es un script TCL grande, por lo que es fácil de modificar).

Si miras una versión reciente de gitk, encontrarás:

proc drawcmittext {id row col} { 

cerca de la línea 6100. Cerca de 72 o más líneas en usted encontrará:

  set date [lindex $commitinfo($id) 2] set date [formatdate $date] 

No hay más código para cambiar la date , por lo que de aquí en adelante está atascado con cualquier date de formatdate al valor inicial de la expresión de lindex (índice de list).

Los campos $commitinfo (matriz asociativa basada en search el ID de confirmación) son:

  set commitinfo($id) [list $headline $auname $audate \ $comname $comdate $comment $hasnote $diff] 

(últimas dos líneas de parsecommit , alnetworkingedor de la línea 1730). Entonces, el índice 2 es $audate , que es la date del autor analizada. La date del compromiso es del índice 4 (los índices 1 y 3 son autor y confirmador, respectivamente).

El cambio obvio sería seleccionar el índice 4 si se utilizara algún interruptor de línea de command. (También sería posible hacer un button Tk que cambie dinámicamente el valor, pero será más difícil).

la solución de torek como parche para gitk 1.8.1.4-1.1.1 para mostrar la date del committer en lugar de la date del autor:

 --- /usr/bin/gitk 2013-02-26 15:44:18.000000000 +0100 +++ /usr/local/bin/gitk 2017-09-14 13:52:13.629947026 +0200 @@ -5963,7 +5963,7 @@ } set headline [lindex $commitinfo($id) 0] set name [lindex $commitinfo($id) 1] - set date [lindex $commitinfo($id) 2] + set date [lindex $commitinfo($id) 4] set date [formatdate $date] set font mainfont set nfont mainfont 

Guarde este parche en gitk.patch y aplique:

 cp /usr/bin/gitk . patch -p0 gitk gitk.patch sudo mv gitk /usr/local/bin 

Use esto para mostrar la date de compromiso

 git show -s --format=%ci <commit> 

Consulte la página del manual para ver otros formattings de cadena de date