Hace más de un año que utilizamos Subversion en la empresa, y hoy día creo que a pesar de ser un equipo de desarrollo pequeño, no seríamos ni la mitad de eficientes si no fuera por él.

Subversion es un sistema de control de versiones; es decir, un sistema de gestión de código fuente que controla las versiones de cada archivo, y agrupa cada cambio a uno o varios archivos en unidades atómicas y transaccionales. Almacena el histórico de cada archivo, de forma que puedes ver siempre el histórico de cambios de todos y cada uno de los archivos del proyecto. Funciona integrado con el Apache o como servidor independiente, aunque yo lo prefiero con Apache por varias razones. Subversion se parió para sustituir a un sistema de control de versiones llamado CVS, muy usado “antiguamente”, pero que tenía muchas deficiencias que subversion corrige:

  • Los cambios son atómicos; es decir, o guardas todos los cambios de todos tus archivos en el repositorio al hacer “commit” o no guardas ninguno
  • Cuando renombras un archivo del proyecto o lo mueves de sitio (parte del proceso de refactorización), conserva el histórico de cambios (en CVS es como si borraras y crearas otro archivo).
  • Subversion es mucho mas rápido; se pretendía que las operaciones masivas sobre el repositorio de código tuvieran un coste constante (con CVS no ocurría asi).
  • Subversion puede meter “meta-datos” libres a los archivos (propiedades clave-valor que uno quiera; por ejemplo: “archivoauditadoyseguro: true”

Aquí está la bestia: http://subversion.tigris.org/

Y aquí un tutorial para usarlo en windows con un cliente gráfico muy bonito llamado TortoiseSVN: http://svn.haxx.se/users/archive-2006-05/att-0593/SVN-Apache-SVNNotify-HowTo-En.pdf ( la sección del Perl y del notify os la podéis saltar tranquilamente).

Para integrarlo con Visual Studio: http://ankhsvn.tigris.org

Para integrarlo con Eclipse: http://subclipse.tigris.org/

Para integrarlo en Windows directamente: http://tortoisesvn.tigris.org/

Para integrarlo en Dreamweaver (de $pago$ pero baratito): http://www.grafxsoftware.com/. (Aunque con el TortoiseSVN y las carpetas ignoradas de dreamweaver, si tienes un poco de experiencia con el puedes usarlo sin este plugin sin problemas :)

Y más cosas sobre subversion en http://www.subversionary.org/, con tutoriales y artículos varios.