Comparativa Control de Versiones
Comparativa Control de Versiones
Comparativa Control de Versiones
Concepto
Los SCV son aplicaciones que guardan en repositorios las versiones de un
software generadas en el transcurso de su desarrollo y evolucin. Se encargan
de gestionar los diferentes estados por los que pasa una aplicacin durante
todo el periodo de su desarrollo, guardando un historial con todos los cambios
realizados entre las versiones. Esto representa una importante ventaja para los
desarrolladores, ya que estas versiones pueden estar disponibles para ms
participantes distribuidos geogrficamente, propiciando que los actores
(stakeholders) puedan contribuir en forma organizada.
Adicionalmente, el SCV almacena en un repositorio la fecha y hora de los
cambios, as como el nombre del desarrollador que realiz las modificaciones,
destacando las diferencias entre los archivos antes y despus de los cambios.
El contar con esta informacin facilita el reconstruir archivos previos cuando
sea necesario, as como disponer en cualquier momento de las diferentes
versiones del cdigo fuente
Dos arquitecturas tpicas son las distribuidas y las centralizadas.
Los distribuidos son ms habituales en grandes proyectos donde los
desarrolladores se encuentran en mltiples localizaciones, se da la necesidad
de replicar los repositorios y donde se producen mltiples ramas que
terminarn (o no) fusionndose con la rama principal.
Las centralizadas, por el contrario, son ms habituales en pequeas empresas
y/o proyectos donde existe una mayor necesidad de trabajo en equipo.
Ventajas de sistemas distribuidos
Desventajas
SVN
Apache Subversion (SVN) es una herramienta de control de versiones libre
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 revisin para guardar los cambios producidos en el
repositorio. Entre dos revisiones slo guarda el conjunto de modificaciones
(delta), optimizando as al mximo el uso de espacio en disco. SVN permite al
usuario crear, copiar y borrar carpetas con la misma flexibilidad con la que lo
hara si estuviese en su disco duro local. Dada su flexibilidad, es necesaria la
aplicacin de buenas prcticas para llevar a cabo una correcta gestin de las
versiones del software generado. SVN puede acceder al repositorio a travs de
redes, lo que le permite ser usado por personas que se encuentran en distintas
computadoras.
Ventajas
Desventajas.
El manejo de cambio de nombres de archivos no es completo. Lo
maneja como la suma de una operacin 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.
GIT
Inicialmente desarrollado Linus Torvalds, Git ofrece un tipo diferente de control
de versiones, se trata de un sistema de control de versiones distribuido, donde
no hay una sola base de cdigo centralizada para obtener el cdigo. Las
diferentes ramas tienen diferentes partes del cdigo. Otros sistemas de control
de versiones, como SVN y CVS, usa el control de versiones centralizado, lo
que significa que slo se usa una copia maestra del software.
GitHub ha ayudado recientemente a establecer Git como un gran sistema de
control de versiones, ofreciendo una buena interfaz para muchos proyectos
grandes, tales como Rails y Prototype. Sin embargo, Git no es tan fcil de
aprender como CVS o SVN, por lo que es mucho ms difcil de usar para un
principiante.
Ventajas
Desventajas
Bazzar
Bazaar es un sistema de control de versiones distribuido patrocinado por
Canonical Ltd., diseado para facilitar la contribucin en proyectos de software
libre y opensource. Puede ser usado por un usuario nico trabajando en
mltiples ramas de un contenido local, o por un equipo colaborando a travs de
Desventajas
Rational ClearCase
Es una familia de programas informticos que soporta la gestin de
configuracin de software (SCM) de cdigo fuente y otros de desarrollo de
software activos. Tambin es compatible con la gestin del diseo, los datos de
los artefactos de diseo electrnico. ClearCase incluye el control de revisin y
constituye la base para la gestin de la configuracin en las empresas grandes
y medianas, con capacidad para proyectos con cientos o miles de
desarrolladores. Es desarrollado por IBM.
ClearCase admite dos modelos de gestin de configuracin: UCM (Unified
Change Management) y ClearCase de base. UCM proporciona un modelo de
salida de la caja, mientras que ClearCase base proporciona una infraestructura
bsica (UCM est construido sobre la base de ClearCase). Ambos pueden ser
configurados para soportar una amplia variedad de necesidades.
ClearCase puede acomodar grandes archivos binarios, un gran nmero de
archivos, y grandes tamaos de repositorio. Es compatible con ramificaciones,
etiquetado y control de versiones de directorios.
Mercurial
Mercurial es un sistema de control de versiones multiplataforma, para
desarrolladores de software. Est implementado principalmente haciendo uso
del lenguaje de programacin Python, pero incluye una implementacin binaria
de diff escrita en C. Mercurial fue escrito originalmente para funcionar sobre
GNU/Linux. Ha sido adaptado para Windows, Mac OS X y la mayora de otros
sistemas tipo Unix. Mercurial es, sobre todo, un programa para la lnea de
comandos. Todas las operaciones de Mercurial se invocan como opciones
dadas a su programa motor, hg (cuyo nombre hace referencia al smbolo
qumico del mercurio).
Las principales metas de desarrollo de Mercurial incluyen un gran rendimiento y
escalabilidad; desarrollo completamente distribuido, sin necesidad de un
servidor; gestin robusta de archivos tanto de texto como binario; y
capacidades avanzadas de ramificacin e integracin, todo ello manteniendo
sencillez conceptual. Incluye una interfaz web integrada.
Rpido escalable.
Ms simple que Git.
No hay tantas funciones para aprender, son similares a los otros
sistemas.
Viene equipado con una interfaz Web independiente y una amplia
documentacin en la comprensin de mercurial.
Es liviano.
Desventajas
Primer
a
Versi
n
Precio/Lic
encia
Tipo
Repositorio
CVS
SVN
1990
2000
GIT
2005
GPL
Apache
Licence
GPLv2
Bazzar
2007
GPL
Distribuido
TeamFound
ation
Rational
ClearCase
2006
$1199
1992
Mercurial
2005
$4600
por
licencia
GPL
Centralizado/Dis
tribuido
Centralizado
Identificaci
n
de
Revisiones
Alcance
cambio
Historia
cambios
Centralizado
Centralizado
Nmeros
Nmeros
Fichero
rbol
Distribuido
SHA-1
hashes
Pseudoalea
torio
Nmeros
rbol
Changeset
Changeset/S
napshot
Snapshot
rbol
Snapshot
Fichero
y rbol
Fichero
Changeset
rbol
Changeset
Distribuido
de
Nmeros
SHA-1
hashes
de
Changeset
Unicode
Internacionalizac
in
Permisos del
repositorio
Rplica del
repositorio
CVS
SVN
GIT
Bazzar
TeamFound
ation
Rational
ClearCase
Mercurial
renombrados Fusin de
ficheros
Herramienta
directorios Renombrado de
ficheros y
Commits
Atmicos
No
Si
Si
Si
Si
No
Si
Parcial
Si
Si
No
No
Si
Si
Si
No
No
Si
Si
Si
Parcial
No
Si
Si
Si
Si
Si
Si
Si
Si
No
Si
Parcial
Si
Si
No
Si
Parcial
Si
Si
Parcial
Si
Si
No
Si
Si
Si
Si
Si
Si
Si
Si
Si
Si
Si
No
commit
revert
merge
copy
move
remove
add
lock
Push
update
pull
checkout
clone
CVS
SVN
GIT
Bazzar
TeamFo
undatio
n
Rational
ClearCa
se
Mercuri
al
branch
Herrami
enta
init
BIBLIOGRAFA
https://es.wikipedia.org/wiki/CVS
https://www-112.ibm.com/software/howtobuy/buyingtools/paexpress/Express?
P0=E1&part_number=D5315LL,D0BH1LL,D0BH2LL&catalogLocale=es_ES&Lo
cale=null&country=ESP&PT=html&S_TACT=none&S_CMP=none&brand=rat
https://www.visualstudio.com/products/how-to-buy-vs
https://es.wikipedia.org/wiki/Bazaar_(software)
https://es.wikipedia.org/wiki/Git
http://web.usbmed.edu.co/usbmed/fing/v3n1/v3n1a9.pdf
https://es.wikipedia.org/wiki/Microsoft_Visual_SourceSafe
http://www.aeipro.com/files/congresos/2011huesca/CIIP11_2390_2405.3423.pd
f
https://en.wikipedia.org/wiki/Team_Foundation_Server
https://es.wikipedia.org/wiki/Control_de_versiones
https://es.wikipedia.org/wiki/Mercurial
https://en.wikipedia.org/wiki/Comparison_of_version_control_software
http://tratandodeentenderlo.blogspot.pe/2009/12/control-de-versiones-conclearcase.html
http://www-03.ibm.com/software/products/es/clearcase
https://portfoliogabrielfcr.wordpress.com/2013/10/25/62/