Con un poco de gimnasia puede solucionar esto usando svnsync
, que tiene la capacidad de reparar los EOL. Digamos que su repositorio está abandonado en archive.svn
.
En primer lugar crear el repositorio para cargar el repositorio de vuelta, haciendo caso omiso de los problemas EOL:
svnadmin create repo
svnadmin load repo < archive.svn --bypass-prop-validation
Ahora crea un nuevo repositorio para copiarlo en:
svnadmin create repo-fixed
svnsync
requiere un poco de gancho pre-commit, incluso si no lo usa, solo use su editor para crear uno vacío en repo-fixed/hooks/pre-revprop-change
:
#!/bin/sh
exit 0
inicializar el repositorio de destino para svnsync
:
svnsync init file:///path/to/repo-fixed file:///path/to/repo
Ahora copia todo el repositorio sobre:
svnsync sync file:///path/to/repo-fixed
Uf! svnsync
incluso le dará una buena noticia: (. ¿Por qué el equipo de Subversion no se actualizaba svnadmin
a hacer lo mismo normalización es un misterio para mí) NOTE: Normalized svn:* properties to LF line endings
Una vez hecho esto, volcar el nuevo repositorio:
svnadmin dump repo-fixed > archive-fixed.svn
Ahora tiene archive-fixed.svn
, que debe ser idéntico a archive.svn
, excepto que los EOL se han corregido según sea necesario.
(Opcional) Ahora puede retirar el depósito temporal que utilizó para svnsync
:
rm -rf repo-fixed
actualización Resulta que si se carga este nuevo vertedero, su cliente de Subversion obtiene un error: Repository UUID does not match expected UUID
. Tendrá que usar svnadmin setuuid ...
a change the UUID ID to what it used to be.
(Este mensaje es la culminación de una multitud de fragmentos y soluciones parciales que encontré en la web Gracias a todas las personas que sabían más que yo;. Acabo de poner todo junto.)
Véase también :
He actualizado el servidor antiguo a la última versión, pero yo todavía tengo el mismo problema. – xsl
¿Qué estabas usando antes? ¿Has intentado configurar las propiedades del archivo para asegurarte de que se utiliza el formato correcto? Hay una buena publicación [aquí] (https://mikewest.org/2006/06/working-with-subversion-file-properties) que explica cómo ... –
Terminé ignorando los finales de línea con un parámetro pasado a svnadmin load – xsl