Utiliser Mercurial pour un projet solo
8 Décembre 2009
De manière très générale, un gestionnaire de version ajoute à un ensemble de fichiers de travail un dépôt, vers lequel peuvent être commitées et sauvées chaque nouvelle étape de votre projet.
Mais quand on pense gestionnaire de version, on pense souvent projet à plusieurs et administration laborieuse d'un serveur SVN ou autre. Pourtant un tel outils peut aussi être utilisé pour un projet solo, afin de garder trace du travail réalisé et de gérer simplement les sauvegardes. Je présente ici le cas de Mercurial, que j'ai l'habitude d'utiliser, sous Linux avec une sauvegarde sur une machine distante accessible en ssh.
Créez d'abord (ceci simplifiera la configuration pour la
suite) un dépôt sur la machine distante par la commande hg init
dans le répertoire désiré (hg est le symbole chimique du
mercure). Ceci génère un nouveau dépôt vide dans .hg. Ensuite
toutes les opérations ont lieu sur votre machine locale. Clonez-le par hg
clone ssh://login@server.fr/mydir. Vous obtenez ainsi une copie du dépôt
initial associé à son dépôt père.
Ajoutez alors quelques nouveaux fichiers dans votre dossier de travail. Pour
les marquer en tant que fichier de sauvegarde, utilisez hg add
filename, sinon Mercurial
les ignorera. hg status indique par un ? quels
fichiers n'ont pas encore été ajoutés. Il existe cependant certains fichiers
qu'on ne voudra jamais ajouter (code compilé, fichiers en *~,
...) ; ils peuvent être définitivement ignorés en ajoutant un fichier
.hgignore contenant par exemple :
syntax: glob *~ a.out
Faites alors les modifications voulues sur vos fichiers de travail. Quand
vous sentez qu'une nouvelle étape est franchie, vous pouvez enregistrer une
version figée de l'état actuel de votre projet par hg commit -m
"Squelette du projet terminé" avec comme argument un message explicatif.
En cours d'édition, hg status note par un M les
fichiers modifiés par rapport au dernier commit, et hg diff le
détail des dites modifications.
L'état du dépôt (et du travail accompli) peut être consulté en lançant
hg serve qui exécute un serveur http ensuite
disponible à l'URL http://localhost:8000/.
Pour faire une sauvegarde, tapez tout simplement hg push. Le
dépôt fils se souvient de l'adresse de son père, et lui transmet
automatiquement les diff sur les fichiers de travail. Un
hg update sur la machine distante permet alors d'actualiser les
fichiers disponible avec leur dernière version sauvée dans le dépôt
associé.