Control de versiones distribuido

Para un proyecto de código abierto al que pertenezco (Webchess), decidimos que es hora de buscar un nuevo sistema de control de versiones.Como el proyecto se encuentra en SourceForge, SVN es un candidato natural, pero la naturaleza de los desarrolladores, nos invita a buscar en los sistemas de control de versiones distribuidos. Los principales concursantes fueron Bazaar, Git y Mercurial.Después de evaluar muchas cosas de acuerdo a las necesidades del proyecto; tuvimos un empate técnico entre Mercurial y Bazaar, así que el desempate fue por decisión:El ganador fué Bazaar.

Por el momento, sólo estoy agregando links, pero eventualmente agregaré comparaciones y/o conclusiones aquí mismo.

Alojamiento web

Se dice que una de las principales cosas que empujó a git hacia adelante, fue la existencia de github. Pero existen sitios de alojamiento para todos.

Si tu proyecto es de código abierto, quizás ya conoces SourceForge, o tienes otra opción; pero mi intención es enfocarme en los 3 más populares. Y de pasada agrego a SourceForge, para tener comparación.

Los principales contendientes:

Al final, no hay mucho mercado para repositorios gratuitos. Si necesitas uno privado, lo mejor será bitbucket (con la limitante de 5 usuarios), buscar uno menos popular, o habilitar tu propio servidor.

Clientes GUI

A fin de cuentas los desarrolladores que participamos en la elección del sistema de control de versiones teníamos algo en común: todos creemos que la mayoría de las veces vamos a usar la línea de comandos para acceder a los comandos de bzr. Pero es importante tener una buena herramienta GUI para atraer a otros desarrolladores.

Bazaar tiene su propio GUI, Bazaar Explorer, del cual se enorgullecen.

Mercurial tiene varios GUIs; empezando por hgk (clon de gitk) y TortoiseHG (que también hay para linux con integración para Nautilus).

Git también tiene varios GUIs, pero gitk es el que viene en la instalación.

Si usas Windows, definitivamente te recomiendo usar algún Tortoise..

.. hay TortoiseHG, TortoiseGit y TortoiseBzr.

Y si aún no migras a un sistema distribuido, hay TortoiseCVS y TortoiseSVN.

Nota: Utiliza las versiones recientes de Tortoise*, ya que las anteriores (anteriores al 2009) podían conflictuar entre si.

Enlaces