Mercurial

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

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:

  1. Visiteu la pàgina de registre i ompliu el formulari.

  2. Espereu que l’administrador activi el vostre compte.

Com crear un dipòsit?

  1. Un cop tingueu el compte actiu, inicieu una sessió

  2. 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ó Repositories del menú.

  3. 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.

  4. 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 hg.

  5. Llegiu les instruccions per treballar amb el dipòsit que acabeu de crear.

Com compartir un dipòsit amb altres usuaris?

  1. Trieu el dipòsit que voleu compartir.

  2. Feu clic a l’opció Options ‣ Settings del menú del dipòsit.

  3. Trieu l’opció Permissions del menú de l’esquerra.

  4. 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:

    1. Visiteu la pàgina de resum del dipòsit, El-joc-del-profe per exemple.

    2. Copieu la clone url, http://jocs.cs.upc.edu:5000/El-joc-del-profe en aquest exemple.

    3. 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
      
    4. 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.