Sistema de control de versiones: GNU Bazaar
Publicado el Jueves, 22 de mayo de 2008El sistema de control de versiones Bazaar se convirtió recientemente en un proyecto GNU. Su meta es ser un sistema de control de versiones acorde a la colaboración y cooperación en el núcleo del software libre. Busca facilitar el uso de control de versiones distribuido a través de todas las plataformas. Tiene una interface simple y amigable, para que los nuevos usuarios lo encuentren familiar y natural.
La operación básica para el control de versiones distribuido es el branching y merging, por lo que Bazaar está diseñado en gran parte para asegurarse que se puedan hacer branch y merge de forma eficiente entre individuos y equipos, usando ramas locales o remotas. Para los desarrolladores, hay un API de extensión y una suite de plugins para permitirles extender Bazaar, y bzrlib facilita la tarea de incluir la funcionalidad de Bazaar en sus propias aplicaciones GPL.
Una parte que me llamó bastante la atención de su diseño, es que intenta hacer lo más directa posible la interoperabilidad con proyectos que usan un sistema de control de versionado distinto. Su meta es que sea posible que alguien use Bazaar para participar en cualquier proyecto. Así que puede representar las operaciones de cualquier otro sistema, y hay plugins que permiten leer el log de versiones para un proyecto en Bazaar desde Subversion, Git, CVS y otros proyectos. Por ejemplo, se puede mantener el trunk del desarrollo de un proyecto en Subversion, y correr "import" constantemente de ese trunk en Bazaar de donde los desarrolladores pueden hacer brang y merge. No sé si esto había sido implementado en algún otro sistema, pero resulta sumamente interesante.
Se pueden alojar ramas de Bazaar en casi cualquier servidor donde haya acceso de lectura y escritura sobre SFTP, FTP ó HTTP, o sobre SSH con el smart server de bzr.
Bazaar funciona en GNU/Linux, UNIX, Windows y OS X "out of the box". Está programado en Python, y además de su comunidad, tiene el apoyo de Cannonical.
Tienen un salón de IRC aparentemente bastante activo y divertido: #bzr en irc.freenode.net.
Por lo menos así lo demuestran en la página de citas:
lifeless> ahora 'bzr send -o-'
<lamalex> -o-?
<lamalex> como un pequeño avión?
<lifeless> :P
<lifeless> sí
<spiv> (estirar los brazos y hacer ruidos de "vrrrrm!" es opcional)
Personalmente he usado únicamente Subversion como sistema de control de versiones. Lo aprendí como una necesidad (no se puede programar sin sistema de control de versiones!) y me resulta bastante cómodo, y estoy conforme con su desempeño. Sin embargo, Bazaar se presenta como una alternativa excelente. Voy a empezar a estudiarlo, porque sería interesante hacer una migración en el server de la oficina. Y si es compatible con Subversion, puedo mantener los repositorios actuales e ir probando Bazaar por otro lado.
¿Alguna vez usaron Bazaar? ¿Qué sistema de control de versiones usan?
3 comentarios en este post
Feed de comentarios-
Git: Sistema de control de versiones distribuido | Picando Código |
22 julio. 2008 - 17:13
[…] que he usado hasta ahora ha sido Subversion. Aunque en el blog ya he comentado también sobre Bazaar, todavía no he tenido oportunidad de probarlo. Teniendo una idea (muy vaga por cierto) de qué es […]
Blaxter 22 mayo. 2008 - 19:40
Ahora se ha puesto de moda git, He usado cvs antiguamente y masivamente svn (en mi empresa todavía se usa svn), pero ahora en mis maquinas uso git con una notable mejora respecto a svn.
Git es similar bazaar, distribuido, pero según benchmarks más rápido (conozco 0 de bazaar) y lleva el sello de Tolvards.
fernando 23 mayo. 2008 - 04:19
Blaxter:
Conocía git, tampoco lo he probado. Supongo que lo primero que tengo que hacer es estudiarme la diferencia de la parte distribuida, respecto a SVN. Luego analizar las dos alternativas porqué no, y comparar cuál me sirve más 😀
Gracias por comentar!
Saludos