Ceci est une ancienne révision du document !
Mercurial ( ou hg )
Mercurial est un système de gestion de versions comme subversion ou cvs.
Installation
Installez le paquet mercurial
Configuration du fichier /etc/mercurial/hgrc pour stocker des infos :
$ sudo vim /etc/mercurial/hgrc
# 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.
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
*.rej
*~
*.o
tests/*.err
syntax: regexp
.*\#.*\#$
Pour tester le fichier .hgignore :
$ hg status
Pour plus d'informations, n'hésitez pas à contacter pezzos.