Subversion
De Wikipedia, la enciclopedia libre
Subversion es un software de sistema de control de versiones diseñado específicamente para reemplazar al popular CVS, el cual posee varias deficiencias. Es software libre bajo una licencia de tipo Apache/BSD y se le conoce también como svn por ser ese el nombre de la herramienta de línea de comandos. Una característica importante de Subversion es que, a diferencia de CVS, los archivos versionados no tienen cada uno un número de revisión independiente. En cambio, todo el repositorio tiene un único número de versión que identifica un estado común de todos los archivos del repositorio en cierto punto del tiempo.
Tabla de contenidos |
[editar] Características
[editar] Ventajas
- Se sigue la historia de los archivos y directorios a través de copias y renombrados.
- Las modificaciones (incluyendo cambios a varios archivos) son atómicas.
- La creación de ramas y etiquetas es una operación más eficiente; Tiene costo de complejidad constante (O(1)) y no lineal (O(n)) como en CVS.
- Se envían sólo las diferencias en ambas direcciones (en CVS siempre se envían al servidor archivos completos).
- Puede ser servido mediante Apache, sobre WebDAV/DeltaV. Esto permite que clientes WebDAV utilicen Subversion en forma transparente.
- Maneja eficientemente archivos binarios (a diferencia de CVS que los trata internamente como si fueran de texto).
- Permite selectivamente el bloqueo de archivos. Se usa en archivos binarios que, al no poder fusionarse fácilmente, conviene que no sean editados por más de una persona a la vez.
- Cuando se usa integrado a Apache permite utilizar todas las opciones que este servidor provee a la hora de autentificar archivos (SQL, LDAP, PAM, etc.).
[editar] Carencias
- El manejo de cambio de nombres de archivos no es completo. Lo maneja como la suma de una operación de copia y una de borrado.
- No resuelve el problema de aplicar repetidamente parches entre ramas, no facilita el llevar la cuenta de qué cambios se han trasladado. Esto se resuelve siendo cuidadoso con los mensajes de commit. Esta carencia será corregida en la próxima versión (1.5).
[editar] Clientes
Existen varias interfaces a Subversion, ya sea programas individuales como interfaces que lo integran en entornos de desarrollo.
- TortoiseSVN. Provee integración con el explorador de Windows. Es la interfaz más popular en este sistema operativo.
- Subclipse. "Plugin" que integra Subversion al entorno Eclipse.
- Subversive. "Plugin" alternativo para Eclipse.
- Cervisia Programa para interacción para linux, combinada con Quanta Plus puede llegar a ser muy eficaz.
- ViewVC. Interfaz web, que también trabaja delante de CVS.
- Para mac, pueden emplearse los interfaces SvnX, RapidSVN y Zigversion
- RapidSVN también corre en Linux.
- KDESvn. Provee integración con el escritorio KDE, muy parecido en aparencia/funcionamiento/caracteristicas a TortoiseSVN
- Easyeclipse, EasyEclipse es un paquete baso en eclipse es una plataforma de desarrollo, con algunos plugins de código abierto.
[editar] Véase también
- Control de versiones
- GNU arch
- Darcs o DARCS
- Bonsai cvs
- Plastic SCM
[editar] Enlaces externos
- Página oficial del proyecto
- Cliente de Subversion para Windows
- Manual en catalán sobre instalación de un servidor Subversion sobre Mandriva Linux
- Instalación, configuración y uso de Subversion en Linux
- Control de versiones con Subversion - Manual en español
- Otorgar permisos a usuarios en SVN
- Como montar un servidor Subversion en 28 segundos
- StatSVN Subversion stats
- Guía Subversion
- Subversion entre alumnos y profesores, experiencia académica