Cómo revertir los cambios de una revisión en SVN

Si eres usuario de subversion te habrá pasado alguna vez que después de hacer commit y probar posteriormente el código has visto que debes volver a una versión anterior y dejar el código tal y como estaba en una versión anterior. No todos los clientes gráficos disponen de la opción de "reverse merge", pero en la terminal es muy sencillo de hacer...

Imaginemos que en la revisión 1190 subí unos cambios que hicieron el código inestable y deseo dejar el código tal y como estaba en la revisión 914, entonces haría:

svn merge -r 1190:914 http://turepositorio/proyecto/trunk

# o también:
cd ruta/a/miproyecto/
svn merge -r 1190:914 .

Si no tienes esto por la mano, o simplemente quieres asegurarte de lo que va a pasar antes de hacer nada es muy recomendable que antes de hacer esta operación hagas una simlación de lo que va a pasar, es decir un dry run.

svn merge --dry-run -r 1190:914 http://turepositorio/proyecto/trunk

La opción dry run lo que hace es mostrarte en la terminal el resultado del merge. Quizá tengas conflictos que es mejor evitar antes de hacer el merge. Dependiendo de la operación puede llevar un rato, no es un comando especialmente rápido.

Una vez hayas hecho el merge definitivo (sin el dry-run) ya estará todo listo para que hagas el commit.