¿En qué condiciones exactas no se aplica un parche?

En el context de un parche producido y aplicado por git (es decir, formatting unificado unificado) …

¿Qué se requiere para que un parche se aplique limpiamente? ¿El context tiene que coincidir exactamente? ¿Qué sucede si falta una línea de context o se agrega? ¿Tiene que coincidir exactamente con los mismos numbers de línea, o git ve cerca en el file si las cosas han cambiado un poco?

Google tenía muy poco que decir sobre esto cuando busqué, ni tampoco el manual.

Esta es información para el patch , pero git se comporta de manera similar:

Las líneas eliminadas (precedidas por - ) tienen que coincidir exactamente. El context no tiene que coincidir por completo; si no coincide, se informará como "fuzz"; por defecto, las 2 líneas externas de context no tienen que coincidir, pero sí la línea interna (inmediatamente adyacente al cambio).

Los cambios ("hunks") pueden moverse hacia arriba o hacia abajo en el file, pero el parche no se aplicará si no están en el mismo order.