SVN: Revisiones dañadas - Userlinux.net

Siguiendo con los problemas de SVN y despues del último hack vimos que varias revisiones anteriores estaban corruptas. Para más inri no eran ni la primera ni la última (fácilmente solucionable) con lo que había que aplicarse un poco más. Con el método "prueba-error" y los dumps pudimos identificar facilmente…

SVN: Revisiones dañadas

r0sk 11.Jul.2008 0 Comentarios 583 Lecturas
Siguiendo con los problemas de SVN y despues del último hack vimos que varias revisiones anteriores estaban corruptas. Para más inri no eran ni la primera ni la última (fácilmente solucionable) con lo que había que aplicarse un poco más.

Con el método "prueba-error" y los dumps pudimos identificar facilmente las revisiones conflictivas para proceder a su borrado. Para borrar una revisión intermedia en SVN hay que armarse de paciencia y ser bastante meticuloso.

La solución -tampoco creo que sea la mejor, pero otra vez más funciona- pasó por ir exportando dumps entre las revisiones correctas e ir dejando fuera las malas. Supongamos que queremos dejar fuera la 101 y la 204. Haríamos lo siguiente:
$ svnadmin dump /home/svn/repo/ -r 0:100 > ~/repo-0-100.dump
$ svnadmin dump /home/svn/repo/ -r 102:203 --incremental > ~/repo-102-203.dump
$ svnadmin dump /home/svn/repo/ -r 205:HEAD --incremental > ~/repo-205-head.dump
Ojo con el --incremental, importante hacerlo despues del primer dump para que luego funcionen de forma correcta los loads.

Una vez tenemos los dumps en ficheros procedemos a crear un nuevo repositorio e importarlos con mucho cariño ;)
$ svnadmin create /home/svn/repo2/
$ svnadmin load /home/svn/repo2/ < ~/repo-0-100.dump
$ svnadmin load /home/svn/repo2/ < ~/repo-102-203.dump
$ svnadmin load /home/svn/repo2/ < ~/repo-205-head.dump
Y si todo ha salido bien ya tendremos nuestro nuevo repositorio totalmente limpio de malas hierbas. Ni svn repair ni nada por el estilo, creando dumps ha sido la única forma de recuperar el histórico de cambios que ya dábamos por perdido.

Espero no llevarme más sorpresas derivadas del fallo del servidor, pero está siendo "divertido".

Comentarios


Todavía no hay comentarios

Escribe un comentario

Nick
Email
URL

Buscar

Cargando...

Categorías

Últimos comentarios

  • BartlettLilly20
  • r0sk
  • coder
  • argordmel
  • uveic
  • MarcosBL
  • quemada
  • alexander
  • Hakky111
  • tramel
  • hoyadas
  • hoyadas
  • hoyadas
  • Anubys
  • Arturo

Tagcloud

lugo freebsd seguridad futbol iphone mysql champions userlinux alemania_2006 copa bsd cakephp rfilms deportes meme blogs conciertos bake debian macosx apple humor programación música games 2008 beers tip lucux cake sysadmin ssh ibook films cumpleaños bash league barça soccer mundial frases opinion felicidades hack php juegos cms personal 2007 ubuntu ds mac sidenotes openbsd linux blogsfera rsidenotes blog nintendo san_froilan

Archivo

Social

Twitter

Enlaces

Enlaces de interés