¿Puede mostrar Gitk todos los commits EXCEPTO los de un autor determinado?

Deseo usar gitk para ver todas las confirmaciones excepto las de un autor determinado. Algo como lo siguiente:

gitk —author =! joe

es posible?

No creo que haya una manera terriblemente fácil de hacerlo–

Si tienes perl o algo similar, puedes armar una solución:

  1. Obtenga la list de confirmaciones que desea excluir y póngalas en un hash: git rev-list [refs] –author = "[author pattern]"

  2. Obtenga la list de confirmaciones que desea mostrar: git rev-list [refs]

  3. Reste los elementos en el hash de las confirmaciones que desea mostrar

  4. Muestra los commits que quieres mostrar: gitk –no-walk [output of resta]

Podrías escribir algo en perl / python / ruby ​​con bastante facilidad para hacer 1-3, y luego solo hacer

gitk –no-walk $ (drop-author.pl [refs] [author-pattern])

Desde la línea de command:

 gitk --author='^(?!joe)' 

Para excluir confirmaciones de varios autores:

 gitk --author='^(?!jack|jill)' 

Explicación: (?!whatever) es una expresión regular de búsqueda anticipada: coincide con una position no seguida por whatever . Lo anclamos al principio del campo Autor mediante la expresión regular "principio de cadena".

O puede hacer lo mismo desde dentro de gitk: en el menu, select Ver -> Nueva vista (o Shift + F4 para abreviar) y escriba lo siguiente en el campo "Autor":

 ^(?!joe)