My kemenworld…

To mock or not to mock…

Rollbacks en Subversion

Posted by kementeus en octubre 12, 2007

Algunos de ustedes sabran que entre mis temas preferidos esta el de Sistemas de Control de Código fuente (algunos les llaman de Control de Versiones o VCS o hasta SCM por sus siglas en inglés) y que Subversion esta entre mis sistemas de control de versiones favoritos (yep, tengo una lista de varios SCMs favoritos).

SVN en general es un excelente sistema de control de versiones centralizado, no discutiré aquí si es bueno o regular, pero hace unos días un amigo me planteo su problema: "un programador hizo commit al repositorio y necesitamos volver 5 versiones anteriores a ese commit", claro, lo lógico sería trabajar con ramas, pero el caso es que necesitabas hacer un rollback de la revisión.

SVN no posee "rollbacks" pero podemos hacer algo más sencillo, "fusionar" nuestra revisión actual con la revisión anterior y así emular un rollback.

Aseguremonos que tenemos la última revisión que queremos cambiar:

$ svn update 

Ya con la versión actual (digamos que es la 12345) en orden podemos pasar a nuestro "rollback" a la versión 12340

$ svn merge -c -r 12340 http://server/svn/trunk/directoriopararollback

Revisemos que tenemos los cambios que esperamos

$ svn status

Y ahora hagamos commit con nuestro "rollback"

$ svn commit -m 'Rollback hecho'

Bueno, espero que les sea de ayuda a más de alguien. Saludos

3 comentarios to “Rollbacks en Subversion”

  1. Buen tip, seguramente algún día me servirá. Por fortuna hasta el momento nunca he tenido necesidad de hacer un rollback a alguna revisión anterior, solamente en la última.

  2. El -c es para?

  3. kementeus said

    @StR:
    Aplica todos los cambios hechos de esa revision a la que tienes actualmente. Es como aplicar cambios en cadena, asi te aseguras que se aplican los dependientes

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: