¿Cómo get git diff con context completo?

¿Cómo crear un parche adecuado para revisar en crisol?

git diff branch master --no-prefix > patch 

Esto genera solo 3 líneas de context. Entonces hago lo siguiente

 git diff --unified=2000 branch master --no-prefix > patch 

Con suerte, todos los files tendrán less de 2000 líneas. ¿Hay alguna manera de decirle a git que incluya todas las líneas en el file para el parche sin tener que especificar líneas máximas?

Sé que esto es viejo, pero tampoco me gustan las soluciones codificadas, así que probé esto:

 git diff -U$(wc -l MYFILE) 

El uso de -U parece ser la única forma de abordar el problema, pero el uso de un recuento de líneas promete que funcionará incluso con un pequeño cambio en un file muy grande.

Esto parece funcionar muy bien:

 git diff --no-prefix -U1000 

Con la advertencia:

El -U especifica las líneas de context. Es posible que deba boost esto si hay más de 1000 líneas entre sus cambios.

Nota: git1.8.1rc1 announce (8 de diciembre de 2012) incluye:

Se puede usar una nueva variable de configuration " diff.context " para dar el número pnetworkingeterminado de líneas de context en la salida del parche, para anular el valor pnetworkingeterminado del código de 3 líneas.

para que pueda ayudar, aquí, a generar un context más completo.

Esto funcionó para mí en Mac OS:

 git diff -U$(wc -l main.htm | xargs) 

vea "¿Cómo recortar el espacio en blanco de una variable Bash?"