Creo segunda edición de la OP es causada por un error de SVN que se fijó en el SVN 1.7. Cambia una estructura de directorio (mover, cambiar el nombre, eliminar) y confirmarla, pero cuando usa svn diff
, el parche parece "no hacer nada".
Tuve este problema al eliminar directorios y los síntomas son los mismos, así que supongo que estamos experimentando el mismo "error de raíz". Para mí, la actualización a svn 1.7 lo resolvió, porque svn 1.7 genera diffs (parches) de manera diferente.
¡Algunas versiones de svn diff
no ponen los archivos movidos/renombrados/borrados en el diff en absoluto!
Ver: http://svn.haxx.se/dev/archive-2004-03/0333.shtml. Este correo electrónico archivado de la lista SVN DEV muestra que los desarrolladores mismos identificaron este problema, en algún momento antes del lanzamiento de 1.0.1, hace más de una década. Si sigues el hilo, parecían bastante determinados a solucionarlo en ese momento, pero incluso 1.6 también dejaba cosas fuera del diferencial. Tuve que actualizar a 1.7.
Básicamente, si svn < 1.7 detectó que un directorio era svn delete
'd, no recurría y procesaba los hijos, simplemente se detenía allí y no ponía nada debajo de ese árbol en el diff. Esto no es lo que queremos, queremos eliminaciones explícitas para TODOS los niños, para que el parche pueda, como se menciona en otra respuesta, eliminar los archivos y directorios vacíos a través de -E. Patch no puede hacer nada si el archivo no está en el parche.
Usando svn 1.7 Hice una diferencia idéntica a la que tenía antes, pero todos los archivos debajo de un directorio eliminado estaban explícitamente en el parche como tener todas las líneas eliminadas (vaciar), y luego patch
/quilt
eliminaron con éxito los archivos y carpetas. Supongo que algo similar debe suceder en tu caso con el movimiento o el cambio de nombre.
GOTCHAS: La actualización a 1.7 dejará inutilizadas sus copias de trabajo.
Asegúrese de confirmar los cambios antes de realizar la actualización. Luego tienes que pagar todo de nuevo.
Editar: El cliente SVN 1.7 puede reparar sus directorios de trabajo, pero si no puede necesitar realizar la extracción de nuevo. Solo ten en cuenta para que no pierdas el trabajo.
¿Ha registrado el contenido sobre el que aplicó el parche? – JVerstry
@JVerstry No entiendo muy bien su pregunta. Comprueve una copia diferente de svn repo y traté de aplicarle los parches, para probar si funciona. – Nufail
Cuando aplica el parche, la información solo se registra en archivos ocultos .svn. Sin embargo, un archivo solo se eliminará DESPUÉS de que ingrese la copia diferente de este svn repo. – JVerstry