cómo include un nuevo file en un parche

Intento hacer un parche como se presentó aquí .
Digamos que tengo dos directorys, pp1(modified version) y pp0(clean version) , hago un parche de file pp0.patch con el command diff :

  diff -crB pp0 pp1 > pp0.patch 

El problema es si hay un file solo en pp1, no se includeá en el parche. ¿Cómo solucionarlo?

ACTUALIZAR :
Primero cambio al directory de pp0 y pruebo si el parche tendrá éxito

  patch --dry-run -p1 -i /path-to-pp0.patch 

Aunque he agregado --new-file al command diff , aquellos solo en pp1 no están listdos en el resultado

ACTUALIZAR :
He parchado accidentalmente el file incorrecto

  diff -crb --new-file pp1 pp0 > pp0.patch 

o

  diff -crNb pp1 pp0 > pp0.patch 

va a hacer

Debería poder hacer esto usando el --new-file . Tomado de la página de diff man :

  --new-file In directory comparison, if a file is found in only one direc- tory, treat it as present but empty in the other directory. 

Prueba esto:

 diff -crB --new-file pp0 pp1 > pp0.patch 

La respuesta inmediata: diff -N , según lo explica pootzko . Encontrará que muchos parches creados por diff -urN .

Qué puede mejorar tu vida: comienza a usar una herramienta de control de versiones. Si no conoce ninguno, comience con uno de los tres principales sistemas de control de revisiones distribuidas , Bazaar , Git o Mercurial . Verifique la versión limpia, trabaje, revise su trabajo tantas veces como quiera, y solicite a su sistema de control de versiones una diferencia entre la versión limpia y su trabajo.