2011-10-06 8 views
5

Realmente estoy buscando una forma de configurar git gui para generar diffs como si fuera git diff --patience, pero sospecho fuertemente que cualquier mecanismo que me permita hacer esto permitiría que otras opciones pasen también, y entonces pregunto la cuestión más general en el interés de servir a la posteridad mejor:¿Puedo hacer que pase "git gui", digamos, "--patience" a "git diff"?

¿hay una manera de establecer algunas opciones que git diffgit gui usar en la generación de los diferenciales se nota?

Respuesta

3

Por lo que puedo decir, no parece haber una manera general de hacerlo. Hay una opción de configuración particular para establecer el número de líneas de contexto para mostrar (gui.diffcontext), pero no existe una opción de configuración genérica para agregar otros argumentos a la invocación de git diff-index.

Sin embargo, git-gui está escrito en Tcl, por lo que es fácil agregar esta opción. Si encuentra diff.tcl en su sistema *, puede simplemente agregar la línea lappend cmd --patience después de la línea lappend cmd -p.

* Podría ser /usr/share/git-gui/lib/diff.tcl si está utilizando una versión empaquetada ...


Gracias a la patente Thoyts, el mantenedor de git gui, para señalar en los comentarios de que una La opción gui.diffopts ahora se ha agregado al git gui para que pueda personalizar las opciones utilizadas para diffs. (Ese cambio fue introducido en this commit pero hasta donde sé no está en una versión de lanzamiento de git todavía.)

+1

Un parche para hacer esto fue cometido recientemente en git-gui por lo que en el futuro podrá agregar argumentos usando 'gui.diffopts' y edítelo en la página de opciones dentro de git-gui. – patthoyts

+0

@patthoyts: Gracias por señalarlo. He actualizado mi respuesta para mencionar que las personas pueden usar esa opción en el futuro. –

+0

@patthoyts: ¡Sí, y gracias por incluirlo también! Estaba bastante satisfecho cuando noté que se había agregado. – SamB