miércoles, 31 de julio de 2013

Instalando y utilizando Mercurial para crear un repositorio local

1) Agregar uno de los siguientes PPA, mediante terminal:
sudo add-apt-repository ppa:mercurial-ppa/stable-snapshots
sudo add-apt-repository ppa:mercurial-ppa/snapshots
Luego,
sudo apt-get update
2) Instalar Mercurial con:
sudo apt-get install mercurial

3) Crear un archivo llamado .hgrc en home, que tenga como contenido:
[ui]
username = Tu Nombre <tu@email>
editor = tuEditorDeTextoFavorito
[extensions]
hgext.purge=
#or, if purge.py not in the hgext dir:
#purge=/path/to/purge.py

4) Crear y/o cambiar al directorio donde se encuentra el proyecto a versionar:
cd /home/Gaby/SourceCode/MyProject01
5) Crear el repositorio. Con ello se creará una carpeta oculta llamada “.hg”:
hg init
6) Agregar archivos para el próximo commit.
Si la carpeta ya tenía archivos, sólo basta con registrarlos para que sean incluidos en el commit. En cambio, si se trata de un nuevo proyecto, se deberán crear los archivos y luego registrarlos. En ambos casos, existiendo ya archivos en el directorio, la forma de registrarlos es:
hg add
En caso de querer agregar sólo determinados archivos, se lo debe especificar de la siguiente manera:

hg add nombreDelArchivo.extensión
8) Mostrar los cambios que hubo en el Working Directory.
Esto indicará el estado de los archivos del proyecto, donde por cada archivo se indicará:
  • “A” significa “added”,
  • “M” significa “Modified”,
  • “R” significa “Removed”,
  • “!” significa perdido, desaparecido.
  • “?” significa desconocido (Mercurial aún no sabe nada acerca de ese archivo).
Se puede consultar el estado con cualquiera de los siguientes comandos:
hg status
hg st
Si tenemos archivos perdidos que realmente queremos quitar de la nueva versión, entonces se puede optar por hacer un

hg addremove
en lugar de un simple remove, que además de agregar los nuevos archivos quita los faltantes, o simplemente un
hg remove -A

9) Generar un commit
Se puede generar con alguno de los dos siguientes comandos:
hg commit
hg commit -m "Descripción del cambio realizado"
La diferencia está en que el primero abrirá un archivo en el cual se deberá escribir y guardar la descripción de la versión, mientras que en el segundo se especifica directamente en el comando.

10) Hacer algunos cambios en el proyecto y generar un segundo commit.

11) Consultar el historial de revisiones del repositorio
Mostrará los changesets (versiones) registrados al momento, ordenados del más reciente al más antiguo. También se puede limitar el número de entradas a mostrar.
hg log
hg log -l 5
hg log --limit 5

12) Volver a un changeset anterior
Se debe conocer el número del changeset al que deseo volver. Este id puede consultarse mediante hg log.
hg update 0
*donde 0 es el número de changeset

13) Hacer modificaciones nuevamente sobre uno o varios archivos del proyecto.

14) Revertir los cambios efectuados
Aquí se puede elegir entre revertir todos cambios de todos los archivos, con alguno de los siguientes comandos:
hg revert -a
hg revert --all
O sólo revertir los cambios efectuados a determinados archivos:
hg revert filename.ext

15) Limpiar los archivos .orig (generados cuando se hage un revert)
hg purge
16) Generar un commit

17) Ver las diferencias de un determinado archivo en diferentes changesets
hg diff -r 0:1 unArchivo.extensión
*donde 0 y 1 son números de versiones

18) Mostrar el resumen del estado del Working Directory
hg summary

Para un completo tutorial, visitar: