Subversion (software)

Subversion
Desarrollador(es)
Comunidad, y desarrolladores de CollabNet, Elego, VisualSVN, WANdisco
http://subversion.apache.org/
Información general
Lanzamiento inicial 20 de octubre de 2000
Última versión estable 1.9.3
15 de diciembre de 2015 (11 meses y 19 días)
Género Control de versiones
Programado en C
Sistema operativo Multiplataforma
Licencia Licencia Apache
Idiomas Multilingüe[1]
En español
[ editar datos en Wikidata]

Apache Subversion (abreviado frecuentemente como SVN, por el comando svn) es una herramienta de control de versiones open source basada en un repositorio cuyo funcionamiento se asemeja enormemente al de un sistema de ficheros. Es software libre bajo una licencia de tipo Apache/BSD.

Utiliza el concepto de revisión para guardar los cambios producidos en el repositorio. Entre dos revisiones sólo guarda el conjunto de modificaciones (delta), optimizando así al máximo el uso de espacio en disco. SVN permite al usuario crear, copiar y borrar carpetas con la misma flexibilidad con la que lo haría si estuviese en su disco duro local. Dada su flexibilidad, es necesaria la aplicación de buenas prácticas para llevar a cabo una correcta gestión de las versiones del software generado.

Subversion puede acceder al repositorio a través de redes, lo que le permite ser usado por personas que se encuentran en distintas computadoras. A cierto nivel, la posibilidad de que varias personas puedan modificar y administrar el mismo conjunto de datos desde sus respectivas ubicaciones fomenta la colaboración. Se puede progresar más rápidamente sin un único conducto por el cual deban pasar todas las modificaciones. Y puesto que el trabajo se encuentra bajo el control de versiones, no hay razón para temer por que la calidad del mismo vaya a verse afectada —si se ha hecho un cambio incorrecto a los datos, simplemente deshaga ese cambio.[2]

Características

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 coste 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 de 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.).
Árbol de proyecto subversion.

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 llevar la cuenta de qué cambios se han realizado. Esto se resuelve siendo cuidadoso con los mensajes de commit.
Other Languages
Afrikaans: Subversion
беларуская (тарашкевіца)‎: Subversion
български: Subversion (софтуер)
català: Subversion
dansk: Subversion
Esperanto: Subversion
euskara: Subversion
suomi: Subversion
galego: Subversion
עברית: Apache Subversion
हिन्दी: सबवर्ज़न
hrvatski: Subversion
Bahasa Indonesia: Subversion
italiano: Subversion
қазақша: Apache Subversion
한국어: 서브버전
lietuvių: Subversion
македонски: Subversion
Nederlands: Subversion
norsk bokmål: Subversion
polski: Subversion
português: Subversion
русский: Subversion
srpskohrvatski / српскохрватски: Subversion
Simple English: Apache Subversion
slovenčina: Apache Subversion
slovenščina: Subversion
српски / srpski: Subversion
українська: Subversion
Tiếng Việt: Subversion
中文: Subversion