En algunos casos necesitamos crear un parche relativo a una carpeta. Por ejemplo, estamos trabajando en una distribución, y queremos que el parche sea relativo a un módulo que está metido dentro del profile.
Como ejemplo usamos la distribución de commons y queremos crear un parche con los cambios creados en el módulo commons_media de la distribución. Vamos a la carpeta de commons_media y usamos --relative al hacer el git diff:
cd commons/profiles/commons/modules/commons/commons_media
git diff --relative > changes2.patch
Las diferencias serían las siguientes
Usando git diff para parchear un archivo dentro del commons_media:
diff --git
a/profiles/commons/modules/commons/commons_media/commons_media.features.field_instance.inc
b/profiles/commons/modules/commons/commons_media/commons_media.features.field_instance.inc
/* Codigo del parche aquí debajo */
Usando:
git diff --relative
diff --git
a/commons_media.features.field_instance.inc
b/commons_media.features.field_instance.inc
/* Codigo del parche aquí debajo */