Para el que no lo sepa, Subversion es un sistema de control de versiones de código abierto, de propósitos similares al bien conocido, ampliamente extendido, y obsolescente CVS. Está diseñado para proporcionar un sofisticado sistema de control de versiones.
Algunas de las caracterÃsticas que hacen de Subversion un digno sucesor de CVS son:
- Histórico de directorios: a diferencia de CVS, la nueva implementación permite mantener un histórico de directorios creados, renombrados y/o borrados.
- Histórico real de archivos: CVS guardaba todos los cambios realizados sobre un archivo en un fichero de texto. Esto representaba un serio problema porque a la hora de, por ejemplo, crear un fichero con el nombre de otro que ya existÃa, se heredaba el histórico del fichero viejo aunque ya no tuvieran nada en común. Eso ha dejado de ocurrir: ahora cualquier operación que incluya copiado, renombrado, borrado o añadido tendrá su propio histórico.
- Consistencia de los datos almacenados: Subversion maneja de igual manera ficheros de texto y binarios: hace uso de un algoritmo de "diferenciación" que permite compresión de los datos dentro del repositorio y, además, se apoya en una base de datos BDB (Berkeley DB).
- Transacciones: Igual que en el banco cuando efectuamos una operación, en Subversion las modificaciones del repositorio se realizan completas o no se realizan. O se realizan todos los pasos o no se realiza ninguno. Nunca se quedará un commit a mitad.
- Modificable: Subversion ha sido diseñado de forma que cualquier modificación no conlleve demasiado esfuerzo: consiste básicamente en una serie de APIs bien definidas programadas en varias librerÃas compartidas.
Para más información sobre este producto os recomiendo visitar estas direcciones:
- ArtÃculo de introducción a Subversion en Castellano.
- Version Control with Subversion (libro en formato HTML)
Para más información: