SVN: Revisiones dañadas
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
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
Espero no llevarme más sorpresas derivadas del fallo del servidor, pero está siendo "divertido".