Utiliser Mercurial pour un projet solo

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é.

blog comments powered by Disqus