Ceci est une ancienne révision du document !
Mercurial ( ou hg )
Mercurial est un logiciel de gestion de versions permettant en particulier la gestion de version décentralisée (comme bazaar ou git). Il est disponible sur plusieurs plate-formes : systèmes Unix, Windows, Mac OS X.
Installation
Installez le paquet mercurial
Le fichier de configuration de Mercurial par défaut est localisé dans /etc/mercurial/hgrc. Il affecte tous les utilisateurs du poste et doit être édité avec les droits de superutilisateur.
Vous pouvez cependant configurer Mercurial pour votre session uniquement en créant un fichier de configuration dans votre home, nommé ~/.hgrc .Dans ce cas, vous n'avez pas besoin des droits de superutilisateur pour éditer ce fichier.
Editez le fichier de configuration:
$ sudo vim /etc/mercurial/hgrc
ou $ vim ~/.hgrc
Placez-y ces informations:
# system-wide mercurial configuration file # See hgrc(5) for more information # User Interface settings [ui] username=Your Name <your.email@yourdomain.com> editor=vim merge=meld
Il faut modifier ce fichier à son grès.
Pour le merge installez également :
Installez le paquet meld
Utilisation
Pour initialiser le dossier dans lequel nous allons travailler :
$ cd /chemin/du/project/
$ hg init
Pour récupérer une copie des fichiers de travail s'il existe déjà dans
$ hg clone http://votredomaine.com:port depot-du-projet
"depot-du-projet" sert à spécifier le répertoire de destination des fichiers et dossiers qui seront téléchargés. Si aucune destination n'est spécifiée alors la destination aura le même nom que celle du répertoire du dépôt.
Pour prendre en compte des nouveaux fichiers dans le dépôt:
$ hg add
Pour enregistrer les changements effectués sur un fichier:
$ hg commit
Attention, il faut bien renseigner les changements sinon les modifications ne seront pas prises en compte.
Pour mettre les changements sur un dépôt distant:
$ hg push http://votredomaine.com:port depot-du-projet
"depot-du-projet" sert à spécifier le répertoire de destination des fichiers et dossiers qui seront téléchargés. Si aucune destination n'est spécifiée alors la destination aura le même nom que celle du répertoire du dépôt.
Pour récupérer les changements sur un dépôts distant:
$ hg pull http://votredomaine.com:port depot-du-projet
"depot-du-projet" sert à spécifier le répertoire de destination des fichiers et dossiers qui seront téléchargés. Si aucune destination n'est spécifiée alors la destination aura le même nom que celle du répertoire du dépôt.
Pour mettre à jour les sources (similaire à svn update ou cvs update) faites simplement :
$ hg pull -u
Pour fusionner les changements:
$ hg merge
$ hg commit
Pour créer un patch et exporter:
$ hg commit
$ hg export tip
Pour permettre l'export du dépôt via HTTP avec une interface navigable:
$ hg serve -n "Mon depot" -p <numérodeport>
Fichier .hgignore
Mercurial dispose d'un système pour n'inclure que certains type de fichier. Il faut créer un fichier appelé .hgignore à la racine du dépôt. Voici un exemple :
syntax: glob *.orig *.swp *.rej *~ *.o tests/*.err syntax: regexp .*\#.*\#$
Pour tester le fichier .hgignore :
$ hg status
Pour plus d'informations, n'hésitez pas à contacter pezzos.