Alan Boglioli
Federico Brest
Hernan Noli
Malena Casas
Matías Martinez
Pablo Diaz
SourceForge es una central de desarrollos de software que controla y gestiona varios proyectos de software libre y actúa como un repositorio de código fuente.
SourceForge.net es hospedado por VA Software y corre en
una versión del software SourceForge.
Source Forge gestiona a través de proyectos repositorios SVN, Hg (mercurial) y Git.
Cada usuario puede crear sus proyectos y repositorios de forma gratuita.
Estos proyectos suelen ser open source (código libre y abierto), en los cuales podemos participar, descargar el código, mejorar el código, enviar informes de errores, solicitar cambios, étc.
Tiene una estructura similar a un sistema de archivos. La diferencia está en que se puede acceder a distintas versiones de los archivos y operar con estas versiones. Es decir: Es un sistema de ficheros con versionado.
Existe también la posibilidad de crear ramas de ramas o de mezclarlas entre ellas, complicando así el grafo generado.
Hay que tener en cuenta que, durante la mezcla de código, es posible que el algoritmo de mezclado falle, así que es buena idea combinar estas técnicas con robustas baterías de pruebas.
Los repositorios pueden lanzar acciones automáticas cuando se producen ciertos eventos. Por ejemplo, podrían enviarnos un e-mail cuando una rama se mezcla con la rama principal, o comprobar que el código cumple ciertos criterios de calidad.
Existe la opción de tener repositorios remotos réplica. Esto significa que podemos sincronizar nuestros cambios contra una de estas réplicas y ésta se sincronizará tarde o temprano con otra de las réplicas.
La sincronización entre repositorios puede ser manual o automática, y puede dar lugar a un flujo de trabajo distinto según se necesite.
$ hg [comando] [parámetros]
$ hg help
$ hg add .
$ hg commit -m "Mensaje..."
$ hg branches
$ hg push
$ hg pull
Ramas
Último commit que modificó el archivo
Archivos mostrados en forma de directorio
Etiquetas
$ hg log
$ hg clone [url-de-repositorio] [nombre-de-la-carpeta]
$ hg merge # Mezclar cambios
Nuevo archivo y nueva funcionalidad
Es una interfaz gráfica y una seria de aplicaciones para el sistema distribuído de control de versiones Mercurial.
Incluye extensiones para Gnome/Nautilus para GNU/Linux y herramientas de línea de comandos.