Corrupción del repositorio SVN - SVNRepo/DB/Current

Corrupción del repositorio SVN - SVNRepo/DB/Current

Recientemente se corrompe uno de los repositorio en mi servidor SVN. Después de verificar, descubrimos que hubo problemas con el archivo SVNREPO/DB/actual se corrompió debido a los malos sectores en mi Hardisk. Traté de ver este repositorio pero fallé.

Cómo recuperar el repositorio SVN corrupto -

Antes de comenzar la recuperación, debemos saber sobre este archivo. Este archivo contiene el último número de revisión de su repositorio. En cada servidor SVN de confirmación, aumente este valor en +1 y mantenga esto en la última revisión.

Ahora, si recuerda la versión de su repositorio, simplemente recree un archivo nuevo y coloque ese número en este archivo. Pero si no lo recuerda, entonces el problema comienza, pero no se preocupe. Siga los pasos a continuación para encontrar el número de revisión.

  • Ingrese cualquier número -

    Ingrese un número e intente mantenerlo más alto de lo esperado. Última revisión. En mi caso, he puesto 99999 en el archivo DB/actual.

    [correo electrónico protegido]: ~ $ Cat DB/Current 99999 
  • Repositorio de copia de seguridad -

    Ahora use el siguiente comando para hacer una copia de seguridad de este repositorio. Cuando ejecuta el siguiente comando, puede terminar con un error como a continuación.

    [correo electrónico protegido]: ~ $ svnadmin dump/rath/to/repo>/backup/myrepo.Volcado * REVISION 0. * Revisión abandonada 1… * revisión arrojada 576. * REVISIÓN DIVERIDAD 577. * REVISIÓN DE LA DIVERSIÓN 578. Svnadmin: E160006: No hay tal revisión 579  

    Según su salida, obtuvimos que nuestro repositorio tiene 578 revisiones. Puede poner este valor en su archivo DB/actual. Pero si hay más archivos corrompidos, continúe siguiendo pasos.

  • Repositorio de copia de seguridad nuevamente -

    Ahora tenemos el último número de revisión, así que especifique las revisiones de 0 a la última revisión para hacer una copia de seguridad.

    [correo electrónico protegido]: ~ $ svnadmin dump -r 0: 578/rath/to/repo>/backup/myrepo.vertedero 
  • Recrear un nuevo repositorio -

    Ahora elimine el antiguo repositorio corrupto y cree uno nuevo con el mismo nombre u otro nombre.

    [Correo electrónico protegido]: ~ $ mv/path/to/repo/backup/[correo electrónico protegido]: ~ $ svnadmin create/rath/to/repo 
  • Repositorio de carga desde la copia de seguridad -

    Ahora cargue los datos del repositorio desde el archivo de copia de seguridad utilizando el siguiente comando.

    [correo electrónico protegido]: ~ $ svnadmin load/rath/to/repo < /backup/myrepo.dump