Mercurial¶
Al lloc web de mercurial hi trobareu la documentació. Recomanem especialment la guia Learning Mercurial in Workflows.
Fitxer de configuració¶
Per treballar amb mercurial cal disposar del fitxer de configuració
.hgrc en el directori de l’usuari (home directory). En
aquest fitxer és imprescindible definir l’adreça de correu electrònic
de l’usuari dels dipòsits mercurial locals i és important definir
L’algorisme que emprarà l’ordre hg merge.
L’algorisme de fusió (merge) que recomanem és el
internal:merge. Aquest algorisme, en cas de conflicte, modifica el
fitxer marcant clarament les dues versions a la part en conflicte.
A continuació trobareu un exemple de fitxer de configuració
.hgrc en el que es configura l’usuari i l’algorisme de fusió.
[ui]
username = Mr. Johnson <johnson@smith.com>
merge = internal:merge
El gestor de dipòsits kalithea¶
kalithea és un gestor de dipòsits mercurial. És una aplicació web que permet crear i compartir dipòsits mercurial entre els seus usuaris.
A l’assignatura de Jocs tenim el nostre gestor kalithea propi.
Com obtenir un compte d’usuari?¶
Per tal d’obtenir un compte d’usuari del gestor kalithea de l’assignatura cal fer el següent:
Visiteu la pàgina de registre i ompliu el formulari.
Espereu que l’administrador activi el vostre compte.
Com crear un dipòsit?¶
Un cop tingueu el compte actiu, inicieu una sessió
Trieu el grup de dipòsits corresponent al quadrimestre actual. Ho podeu fer des de la pàgina d’inici de Kallithea, o bé fent clic a l’opció del menú.
Un cop situats en el grup de dipòsits del quadrimestre actual, creeu el dipòsit prement el botó + Add Repository que trobareu a la part superior dreta.
Ompliu el formulari i deseu-lo:
Trieu un nom i una descripció pel dipòsit.
Trieu el grup de dipòsits corresponent al quadrimestre actual.
A la resta d’opcions hi podeu deixar els valors per omissió. Però comproveu que el tipus de dipòsit és .
Llegiu les instruccions per treballar amb el dipòsit que acabeu de crear.
Com compartir un dipòsit amb altres usuaris?¶
Trieu el dipòsit que voleu compartir.
Feu clic a l’opció del menú del dipòsit.
Trieu l’opció del menú de l’esquerra.
Feu clic al botó + Add new, cerqueu l’usuari i trieu els permisos que voleu donar-li.
Warning
Aneu amb compte amb els permisos de l’usuari Default que és qualsevol persona que visiti el gestor de dipòsits. Per exemple, si li doneu permís d’administració, qualsevol persona podrà esborrar el vostre dipòsit sense ni tant sols autenticar-se.
Com treballar amb mercurial i kalithea?¶
Usarem el dipòsit mercurial de kalithea per compartir els canvis amb altres usuaris.
El primer cop que vulgueu treballar amb un dipòsit mercurial de kalithea cal que en feu una còpia idèntica (clon) en el vostre ordinador:
Visiteu la pàgina de resum del dipòsit, El-joc-del-profe per exemple.
Copieu la clone url, http://jocs.cs.upc.edu:5000/El-joc-del-profe en aquest exemple.
Aneu al directori de treball del vostre ordinador i executeu l’ordre hg clone. Per exemple:
cd directori_de_treball hg clone http://jocs.cs.upc.edu:5000/El-joc-del-profe
A partir d’aquest moment disposareu d’una còpia idèntica del dipòsit. A la guia d’ús de mercurial trobareu com treballar-hi.
En l’exemple anterior la còpia estarà al directori
El-joc-del-profe.
Com treballar (localment) amb Mercurial¶
Per a conèixer tots els detalls, accediu a la guia d’ús de mercurial.
Resum de les comandes més usuals¶
hg status: conèixer els canvis respecte a l’última versió (quins fitxers s’han modificat, afegit o esborrat).
hg diff. Per conèixer en detall les diferències respecte a la versió anterior.
hg add. Per incloure nous fitxers a la versió actual. Si els volem incloure tots, podem utilitzar l’ordre hg add *.
hg rm. Per eliminar fitxers de la versió actual.
Cada cop que volem fixar una versió, cal usar l’ordre hg commit -m "*descripció*". El comenatri de la descripció serveix per a indicar quins canvis hem introduït en la versió.
Per tal de compartir els vostres canvis a kalithea haureu d’executar l’ordre hg push. Habitualment, va precedida d’una ordre hg commit.
Per tal d’actualitzar el vostre dipòsit local amb els canvis que altres hagin pujat a kalithea haureu d’executar l’ordre hg pull. Habitualment, va seguida de l’ordre hg update.
hg update. Actualitzar la versió local respecte a la que s’ha recuperat d’un altre dipòsit (de kalithea). Pot ser que en realitzar-la indiqui que heu de resoldre conflictes.
hg resolve. Marcar el conflicte d’un fitxer com a resolt.
hg merge. Unir dues versions locals, un cop s’han resolt el conflictes.