Mercurial est un logiciel Gestionnaire de révisions de code source.
Il ressemble beaucoup à Git
qui est le plus utilisé.
DCVS : voir WikiPedia
Dans l'invite de commande, toutes les commandes de Mercurial sont sous la forme : hg verbe paramètres
Pour information HG est le symbole de l'élément chimique appelé : Mercure
.
192.168.104.246
Vous aurez un compte :
Connectez vous, avec Putty
, avec votre compte et l'adresse IP
ci-dessus.
<spoiler>
hg init nomDuProjet
ou
mkdir nomDuProjet cd nomDuProjet hg init
</spoiler>
Le dépot contient deux éléments importants :
"store"
eleve1.sio2@srvr-revisions ~/depots_mercurial$ hg init depot1 eleve1.sio2@srvr-revisions ~/depots_mercurial$ ls depot1
hg init
. C'est dans ce dossier que sera enregistré l'historique des différentes révisions du code écrit dans le Répertoire de Travail.eleve1.sio2@srvr-revisions depots_mercurial$ cd depot1 eleve1.sio2@srvr-revisions depots_mercurial/depot1$ ls -al total 12 drwxr-xr-x 3 eleve1.sio2 eleve1.sio2 4096 Sep 20 06:12 . drwxr-xr-x 3 eleve1.sio2 eleve1.sio2 4096 Sep 20 06:12 .. drwxr-xr-x 3 eleve1.sio2 eleve1.sio2 4096 Sep 20 06:12 .hg
Un dépôt peut, aussi, être créé en "clonant" un dépôt existant : commande hg clone
<spoiler>hg status
ou hg st
</spoiler>
Il s'agit d'ajouter un fichier dans la liste des fichiers dont Mercurial va suivre les révisions
eleve1.sio2@srvr-revisions ~$ touch fic1.txt
<spoiler>hg add nomDuFichier</spoiler>
<spoiler>hg status</spoiler>
eleve1.sio2@srvr-revisions ~$ ls eleve1.sio2@srvr-revisions ~$ mkdir depots_mercurial eleve1.sio2@srvr-revisions ~$ cd depots_mercurial/ eleve1.sio2@srvr-revisions ~/depots_mercurial$ ls eleve1.sio2@srvr-revisions ~/depots_mercurial$ hg init depot1 eleve1.sio2@srvr-revisions ~/depots_mercurial$ ls depot1 eleve1.sio2@srvr-revisions ~/depots_mercurial$ cd depot1/ eleve1.sio2@srvr-revisions depots_mercurial/depot1$ ls eleve1.sio2@srvr-revisions depots_mercurial/depot1$ ls -al total 12 drwxr-xr-x 3 eleve1.sio2 eleve1.sio2 4096 Sep 20 06:12 . drwxr-xr-x 3 eleve1.sio2 eleve1.sio2 4096 Sep 20 06:12 .. drwxr-xr-x 3 eleve1.sio2 eleve1.sio2 4096 Sep 20 06:12 .hg eleve1.sio2@srvr-revisions depots_mercurial/depot1$ ls -al .hg total 20 drwxr-xr-x 3 eleve1.sio2 eleve1.sio2 4096 Sep 20 06:12 . drwxr-xr-x 3 eleve1.sio2 eleve1.sio2 4096 Sep 20 06:12 .. -rw-r--r-- 1 eleve1.sio2 eleve1.sio2 57 Sep 20 06:12 00changelog.i -rw-r--r-- 1 eleve1.sio2 eleve1.sio2 23 Sep 20 06:12 requires drwxr-xr-x 2 eleve1.sio2 eleve1.sio2 4096 Sep 20 06:12 store eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg status eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg log eleve1.sio2@srvr-revisions depots_mercurial/depot1$ vi fic1.txt eleve1.sio2@srvr-revisions depots_mercurial/depot1$ ls fic1.txt eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg status ? fic1.txt eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg add fic1.txt eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg status A fic1.txt eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg log
Ajouter la révision dans le dépôt
eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg commit -u eleve1.sio1 -m "Creation du fichier fic1.txt" eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg status eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg log changeset: 0:a656ee7b3969 tag: tip user: eleve1.sio1 date: Fri Sep 20 06:31:59 2013 +0000 summary: Creation du fichier fic1.txt eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg diff
Modification du fichier
eleve1.sio2@srvr-revisions depots_mercurial/depot1$ vi fic1.txt eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg status M fic1.txt eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg log changeset: 0:a656ee7b3969 tag: tip user: eleve1.sio1 date: Fri Sep 20 06:31:59 2013 +0000 summary: Creation du fichier fic1.txt eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg commit -u eleve1.sio1 -m "Modification du fichier fic1.txt" eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg status eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg log changeset: 1:8f292c6d6e53 tag: tip user: eleve1.sio1 date: Fri Sep 20 06:43:12 2013 +0000 summary: Modification du fichier fic1.txt changeset: 0:a656ee7b3969 user: eleve1.sio1 date: Fri Sep 20 06:31:59 2013 +0000 summary: Creation du fichier fic1.txt eleve1.sio2@srvr-revisions depots_mercurial/depot1$ hg diff fic1.txt eleve1.sio2@srvr-revisions depots_mercurial/depot1$