Utilice esta:
$ diff -u 1.php 1a.php > customizations.patch
que le dará un diff unificado de todos los cambios entre la vainilla y copia personalizada de la versión 1.0 del archivo.
Usted puede tratar de aplicar estos cambios en el nuevo archivo, 2.PHP, así:
$ patch -p0 2.php customizations.patch
Tenga en cuenta, sin embargo, que esto probablemente fallará con un montón de trozos descartados si el código fuente ha cambiado demasiado Aún así, solo obtener ese diff unificado puede resultar útil ya que luego puede reintegrar manualmente sus personalizaciones para que se ajusten al nuevo código fuente.
Lo que haría, si es posible, es obtener una copia local del repositorio de control de versiones que utiliza el proyecto de software libre. A continuación, cree una rama e integre sus personalizaciones, y luego vea si puede hacer avanzar las cosas fusionando las confirmaciones ascendentes desde ese momento en su sucursal. Sin ver todas las cosas involucradas, tampoco puedo decirte que será un proceso trivial ni complejo, pero podría ser más fácil que usar diff y patch.
Nota que esto no funcionará para múltiples archivos; si necesita hacer esto en el futuro con múltiples archivos, querrá usar diff contra dos conjuntos diferentes de archivos (con el mismo nombre de archivo) en dos árboles de directorios diferentes. Pensé que podría no ser una mala idea mencionar esto ahora en caso de que sea una situación que encuentres en el futuro.
Gracias, el enfoque diff/patch funcionó a la perfección. Aunque un par de trozos fallaron, estos fueron bastante fáciles de combinar manualmente. – gjb
De nada. –