miércoles, 11 de noviembre de 2009

Cómo revertir un commit errado en Subversion?

A veces por error realizamos un envío (commit) que contiene algunos archivos que no es necesario que estén en el repositorio del desarrollo , es normal que estos sean varios archivos y que muchos de ellos se encuentren en varios directorios y subdirectorios, con los clientes de svn es buena práctica (y es lo que se debe hacer) marcar estos archivos para que sean ignorados y así no sean enviados. Pero que sucede si igual cometemos el error y realizamos un commit indebido?

Algunas personas prefieren eliminar cada archivo o directorio enviado, pero esto puede ocasionar multiples envio innecesarios o cometer otro error y eliminar algo que no se deba, sin embargo podemos solucionar todo con una simple linea , haciendo un merge entre la versión actual y la versión anterior:

svn merge -r version-actual:version-anterior url-del-repositorio


Esto comparará las versiones , encontrará los archivos que fueron subidos y los marcará para eliminar, y aquel o aquellos archivos modificados los marcará como conflictivos , tocará revisarlos para corregir el conflicto y así poder hacer el siguiente commit, el cual es absolutamente necesario para que hagan los cambios en el repositorio:

svn commit -m "Reversión de cambios del ultimo commit"


El comentario es opcional.

0 comentarios:

Publicar un comentario