Mercurial: Un sistema de control de versiones hecho en Python
|
Esta sección es un esbozo en construcción. Se aprecian tus aportes y paciencia |
El libro de Mercurial (pdf).
Hospedaje de proyectos con soporte para Mercurial:
FreeHg, la condición es que los proyectos sean distribuidos bajo una licencia aprobada por la Open Source Iniciative o Creative Commons.
- Assembla
Contents
Trabajando con Mercurial
En este documento veremos cómo hacer tres cosas básicas:
- Crear un repositorio de Mercurial en nuestro disco duro: lo cual sirve para llevar control de versiones sobre nuestros archivos, incluso si sólo queremos llevar la historia de ellos para uso personal, sin compartirlas con nadie más.
- Crear un repositorio de Mercurial en Internet: usando servicios para proyectos de libre cultura comunitarios veremos cómo poner nuestros cambios disponibles en la red.
- Coordinar nuestros cambios en disco duro con los repositorios en Internet: para mantener sincornizados nuestro trabajo.
- Hacer los cambios disponibles para un equipo de trabajo.
Creando un repositorio en nuestro disco duro
- Creamos una carpeta para los repositorios de nuestro proyecto:
mkdir CarpetaProyecto
por ejemplo:mkdir texmacsdocs
- nos movemos a esta carpeta:
cd texmacsdocs
- e iniciamos el reposotirio:
hg init
- podemos adicionar un archivo desde cualquier lugar de nuestro disco duro a dicho repositorio:
cp /tmp/archivoEjemplo.txt . hg add archivoEjemplo.txt
luego hacemos un commit al repositorio lo cual integra todos los cambios que hayamos hecho a la rama principal del mismo:
hg commit
Esto abrirá un editor de texto donde debemos colocar alguna información sobre el cambio que vamos a integrar. En caso de no escribirse nada en tal archivo, el commit quedará abortado y la operación no se realizará. Luego de salvar el archivo donde escribimos los cambios, tenemos algo como:No username found, using 'offray@keyros' instead
obviamente con el usuario que hayamos configurado en el archivo apropiado de mercurial. Si no hay ningún mensaje de aborted! podemos suponer que el commit se realizó sin problema.
Creando un repositorio Web de Mercurial
Existen varios lugares que proveen de hospedaje gratuito para proyectos cuyo control de versiones se haga en Mercurial. Uno de los más chéveres es FreeHg, que está particularmente concebido para proyectos libres, cubiertos por alguna de las licencias aprobadas por la Open Source Iniciative o Creative Commons. Para crear un proyecto basta con llenar los datos que se solicitan en los formularios, una vez hecho esto, con sencillos formularios e instrucciones paso a paso obtendremos un par de mensajes como este:
This repository doesn't have any changesets. You can push changes from your local repository like this: hg push http://freehg.org/u/offray/texmacsdocs/ To get a local copy of this repository, install Mercurial and run the following on the command line: hg clone http://freehg.org/u/offray/texmacsdocs/
Como en el paso anterior creamos un repositorio y lo poblamos con un archivo, vamos a publicarlo en este repositorio creado en FreeHg. Ubicados en la carpeta del disco duro donde creamos nuestro repositorio hacemos:
hg clone http://freehg.org/u/offray/texmacsdocs/
nos saldrá un mensaje como este:
pushing to http://freehg.org/u/offray/texmacsdocs/ searching for changes http authorization required realm: freehg.org user: password:
Luego de colocar los datos del usuario y la contraseña, el resultado será algo como esto:
adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files
Sincronizando el disco duro y el repositorio Web
- Nos ubicamos en la carpeta donde tenemos nuestro repositorio. En nuestro ejemplo:
cd texmacsdocs
Podemos hacer un cambio en cualquier archivo ubicado allí. En el ejemplo hemos colocado un archivo llamdo aTeXmacsTutorial.es.tm, así que lo abrimos
texmacs aTeXmacsTutorial.es.tm
realizamos algunos cambios y como siempre los envíamos a nuestro respositorio local commit
hg commit
- Si queremos sincronizar los cambios de nuestro archivo local con el repositorio web hacemos:
hg push http://freehg.org/u/offray/texmacsdocs/
- La salida será algo como esto:
pushing to http://freehg.org/u/offray/texmacsdocs/ searching for changes http authorization required realm: freehg.org user: offray password: adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 1 files
Trabajando en equipo
Hasta ahora los cambios están disponibles para las personas que conozcan la contraseña y el usuario del dueño del repositorio, pero esto se puede cambiar. Luego veremos como navegar vía web dicho repositorio y hacerle cambios que sean usables por un equipo de personas.
