martes, 24 de abril de 2012

Convertir una copia de trabajo de SVN en una copia de trabajo limpia

SVN (o Subversion) es una increíble herramienta de control de versiones que nos permite guardar el historial de cambios de cada archivo que modificamos en un proyecto. Pero en algunos casos necesitamos hacer una copia de trabajo sin esos cambios. En esta entrada, un truco simple para lograrlo.

Usemos SVN una vez y ya no queremos trabajar sin control de versiones. Ya sea CVS, GIT, SNV o BZR, todos los sistemas de control de versiones nos ayudan a llevar un registro de los cambios que hacemos, simplificando nuestras tareas de sincronización con nuestro equipo de trabajo. Y no sólo sirve para proyectos de software: Logos, revistas, fotos, canciones y más son susceptible de ser controlados por versiones.

Todo eso está muy bien, y en el caso de SVN esto se logra agregando unas carpetas (normalmente ocultas) que contienen información acerca de los archivos cuando no estaban modificados localmente, de modo que siempre se sepa qué archivos pueden tener conflictos, cuáles han sido modificados y cuáles no, minimizando las subidas al repositorio y las descargas desde el mismo. También nos informa de los cambios que se han hecho por otros usuarios mostrando que la copia local ya no está actualizada.

Pero, ¿qué pasa si se trata de un proyecto web? Por ejemplo, ¿queremos que estas carpetas estén en el servidor web, dándole información del repositorio a un visitante no autorizado?  Lo mejor entonces es limpiar la copia de trabajo. Esto se hace eliminando las carpetas .svn que hay en cada directorio del proyecto. Para ello podemos mostrar los archivos ocultos e ir carpeta por carpeta buscándolas, o utilizar un script:

find -iname .svn
Esto nos dará la lista, pero podemos automatizarlo aún más:
rm -rf `find -iname .svn`
Listo, la copia local quedará limpia

No hay comentarios.:

Buscar entradas