En programación informática, el control de versiones distribuido permite a muchos desarrolladores de software trabajar en un proyecto común sin necesidad de compartir una misma red. Las revisiones son almacenadas en un sistema de control de versiones distribuido (DVCS, por sus siglas en inglés).
El control de versiones distribuido toma un enfoque entre iguales (peer-to-peer), opuesto al enfoque de cliente-servidor de los sistemas centralizados. En lugar de un único repositorio central en el cual los clientes se sincronizan, la copia local del código base de cada peer es un repositorio completo.
El control de versiones distribuido sincroniza los repositorios intercambiando ajustes (conjuntos de cambios) entre iguales. Esto establece algunas diferencias importantes en comparación a un sistema centralizado:
Otras diferencias incluyen:
Los propulsores del control de versiones distribuido señalan numerosas ventajas de los sistemas de control de versiones distribuido sobre el modelo centralizado tradicional:
Joel Spolsky, autor dedicado al Desarrollo de Software y dueño de un sistema de control de versiones distribuido, describe el control de versiones distribuido como “posiblemente el más grande avance en tecnologías de desarrollo de software en (los últimos) diez años”.
Una desventaja es que la clonación inicial de un repositorio es más lenta comparada a la centralizada, porque todas las ramas y el historial de revisiones son copiados. Esto puede ser significativo si la velocidad de acceso es lenta y el tamaño del repositorio es lo suficientemente grande. Por ejemplo, el tamaño del repositorio git clonado (todo el historial, ramas, etiquetas, etc.) del núcleo Linux es aproximadamente el tamaño del HEAD comprobado descomprimido, mientras la comprobación (checkout) equivalente de una única rama en una comprobación centralizada sería del tamaño comprimido del HEAD (exceptuando todo el historial, ramas, etiquetas, etc.). Otro problema del control de versiones distribuido es la cantidad de mecanismos de bloqueo que son parte de DVCS más centralizados y ocupan aun un rol importante cuando se trata de archivos binarios no fusionables como activos gráficos (graphic assets).
Escribe un comentario o lo que quieras sobre Control de versiones distribuido (directo, no tienes que registrarte)
Comentarios
(de más nuevos a más antiguos)