ouvert_a_tous:mercurial:accueil

Présentation de Mercurial

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.

Serveur de révision de la section SIO

192.168.104.246

Vous aurez un compte :

  • prenom.nom
  • jeanbart

Manipulations de base

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 :

  • Le Répertoire de Travail (Working Directory) dans lequel le développeur édite son code. Le répertoire de travail contient le code et son contenu pourra être remplacé par une des révisions contenues dans le "store"
eleve1.sio2@srvr-revisions ~/depots_mercurial$ hg init depot1
eleve1.sio2@srvr-revisions ~/depots_mercurial$ ls
depot1
  • Le "Store" : qui se trouve dans le dossier .hg créé par la commande 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>

  • dans le Répertoire de travail

<spoiler>hg status</spoiler>

  • dans le "Store"
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$


  • ouvert_a_tous/mercurial/accueil.txt
  • Dernière modification : 2022/12/03 07:45
  • de 127.0.0.1