Index des leçons :
- Leçon 1 : la gestion de version
- Leçon 2 : qu’est-ce qu’un dépôt ?
- Leçon 3 : les logiciels clients
- Leçon 4 : création d’un dépôt
- Leçon 5 : enregistrement de révision
- Leçon 6 : synchronisation de dépôts, mise à jour du répertoire de travail
- Leçon 7 : identifier les différences
- Leçon 8 : la gestion des branches
- Leçon 9 : la fusion de branche
- Leçon 10 : retour vers le passé
- Leçon 11 : patch et collaboration indirecte
Suite des leçons à propos de Mercurial. Après les leçons numéro 1 et numéro 2 sur ce que sont la gestion de version et un dépôt (repository), un petit tour des logiciels clients disponibles pour gérer tout le processus.
Résumé des leçons précédentes
Nous avons vu ce qu’est la gestion de version et ce qu’elle recouvre et qu’un dépôt (ou repository en anglais) était un dossier contenant tout l’historique des modifications apportées à un projet, soit l’intégralité de ses révisions (ou revisions en anglais).
Les logiciels clients
Avant d’explorer plus avant le système Mercurial, faisons un petit tour d’horizon des logiciels qui permettent d’exécuter les commandes nécessaires à sa gestion.
L’universel Terminal
À tout seigneur, tout honneur, il existe un client quasiment universel, le terminal. Il est disponible sur tout les systèmes d’exploitation, les commandes et leurs syntaxes sont en tout point identiques d’un système à l’autre et seule pourra varier la façon d’identifier les dossiers et les fichiers présents sur votre ordinateur.
C’est l’outil que tout développeur chevronné utilise quotidiennement et il connaît par cœur tout ce qu’il faut savoir pour gérer son ou ses dépôts Hg. Si vous faites partie de ce groupe alors vous pouvez cesser ici la lecture de cette leçon, vous n’apprendrez rien de plus pour l’instant.
Si par contre, et comme moi, vous n’êtes pas un aficionados de la ligne de commande alors voilà en fonction de votre système d’exploitation quelques logiciels graphiques qui vous permettront de visualiser plus facilement l’état de vos dépôts et d’y effectuer quelques opérations de gestion.
Mac OS X
Je commence par Mac OS X parce que c’est celui que j’utilise tous les jours. Après avoir fait le tour des [logiciels] clients existants j’ai jeté mon dévolu sur MacHg. Ce logiciel est gratuit et bien qu’en anglais[1] est suffisamment clair pour appréhender sans trop de problème toute la gestion nécessaire à Hg.
J’utiliserai d’ailleurs des copies d’écran de ce logiciel pour illustrer les prochaines leçons[2]. Si vous avez un bon œil — ou si vous cliquez sur l’image pour zoomer — vous remarquerez sur l’image ci-dessus la présence du fichier .hgignore
dont je vous ai parlé dans la leçon précédente.
Windows
Sur Windows il existe TortoiseHg qui ajoute une couche logicielle à votre explorateur de fichier et un accès à votre espace de travail (Workbench en anglais) qui permet de retrouver un affichage similaire à celui que propose MacHg. De plus, et comme MacHg, TortoiseHg fourni l’environnement nécessaire et suffisant pour utiliser directement des lignes de commandes.
Linux
Habituellement, sous Linux, beaucoup se servent directement des lignes de commande. Cela dit, TortoiseHg existe également pour Linux et vient alors ajouter une couche logicielle à l’explorateur de fichier Nautilus de Gnome (gestionnaire de fenêtre de Linux). EasyMercurial peut être également un bon candidat pour avoir sous Linux un affichage graphique de l’état d’un dépôt et de ses révisions[3].
Utilisation
Tous ces logiciels, que ce soit graphiquement ou via des lignes de commandes, permettent de contrôler toute la vie d’un ou de plusieurs dépôts Hg. Ils sont capables d’utiliser des dépôts distants ou locaux, d’enregistrer une série de modification (ce qu’on appelle une révision) et de stocker ces révisions dans les dépôts — on nomme ces actions respectivement commit et push, et nous verrons leurs usages dans la leçon suivante —, de récupérer dans un dépôt local des révisions enregistrées ailleurs, etc.
Je vous conseille de télécharger un des logiciels décrits ci-dessus ou un autre, de les essayer et de garder celui avec lequel vous vous sentirez le plus en confiance. Cela dit, il est très facile de changer de logiciel car cela ne remet aucunement en question tout ce que vous aurez développé, y compris le contenu de vos dépôts locaux sur votre machine. Tout au plus vous devrez alors indiquer à votre nouveau logiciel l’endroit où se trouvent vos dépôts sur votre disque dur ou sur les serveurs.
Vous pouvez même utiliser plusieurs logiciels en même temps et branchés chacun sur les mêmes dépôts. Cela n’aura aucune incidence sur ces derniers.
Pour en savoir plus
- Une liste des clients Mercurial
- Le logiciel MacHg pour Mac OS X
- Le logiciel TortoiseHg pour Windows et Linux
- Le logiciel multi-plateforme EasyMercurial
Notes
[1] J’utiliserai souvent et parfois même exclusivement les termes anglais pour décrire les actions faites avec un système Mercurial car il existe beaucoup plus de ressources dans cette langue et ainsi vous ne devriez pas trop être dépaysés lorsque vous rencontrerez ces termes ailleurs.
[2] Je précise tout de même que j’indiquerai au fur et à mesure les équivalences des actions sous forme de ligne(s) de commande pour les ceussent qui voudraient en passer par là.
[3] Notez que ce logiciel graphique existe aussi pour Mac OS X et Windows.
1 De [SiMON] -
Intéressant EasyMercurial, je ne le connaissait pas celui-la. Pour, par contre il est un peu laid sous Ubuntu. Et niveau fonctionnalités, il ne vole pas très haut pour le moment. La présentation de l’historique complet du dépôt est sympathique par contre.
2 De Franck -
Oui tout à fait, le seul intérêt que je lui trouve est cet affichage très clair de l’historique. Pour le reste, on peut oublier pour l’instant je pense.
3 De [SiMON] -
Sinon, découverte sous TortoiseHG : l’option “Workbench” du menu affiche une fenêtre qui permet d’exécuter toutes les commandes basiques d’un dépôt (pull, push, commit, etc.), c’est ce qui se rapproche le plus d’une interface unifiée pour Mercurial à l’heure actuelle je pense. Du moins, ça rehausse l’intérêt que j’avais pour cet outil.
4 De Franck -
Oui tout à fait, c’est ce que j’évoquais sur le chapitre à propos de Windows ;-)
5 De [SiMON] -
Ah bah oui tiens. Aveugle inside.