Ce document est une traduction du document original TutorialInstall
Tutorial - Examiner l'historique du dépôt
(Cette page est la partie 3 sur 9 de la série FrenchTutorial. La partie précédente est FrenchTutorialClone, la partie suivante est FrenchTutorialFirstChange)
A ce point, nous avons suivi FrenchTutorialClone pour cloner un dépôt. Notre copie locale est appelée mon-hello.
Regardons maintenant l'historique ce ce dépôt. Pour ce faire, nous utilisons la commande log. Ceci affiche un résumé de chaque évènement qui ont eu lieu dans le dépôt, en remontant dans le temps à partir du plus récent.
$ hg log changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile changeset: 0:0a04b987be5a user: mpm@selenic.com date: Fri Aug 26 01:20:50 2005 -0700 summary: Create a standard "hello, world" program
Ces quelques lignes de sortie ont besoin de quelques explications :
Chaque paragraphe décrit un changeset particulier. Un changeset est une modification de un ou plusieurs fichiers, groupés en une unité logique.
- Dans notre cas ci-dessus, nous pouvons voir que l'historique du dépôt consiste en deux changesets.
changeset identifie un changeset .
Le premier nombre avant les deux points est le numéro de révision. Il s'agit d'une manière rapide d'identifier un changeset . Il est valide uniquement dans ce dépôt.
La longue chaîne hexadécimale après les deux points est le ChangeSetID. Il identifie de manière unique le changeset , et est le même dans tous les dépôts qui contiennent ce changeset . Si vous discutez avec quelqu'un d'un changeset , utilisez le ChangeSetID, et non le numéro de révision.
tag est une étiquette, nom arbitraire symbolique pour un changeset.
- Vous pouvez assigner une ou plusieurs étiquettes à n'importe quel changeset. Naturellement, peu de changesets auront une étiquette associée, donc la ligne tag ne sera pas toujours présente.
L'étiquette spéciale tip identifie toujours le tip qui est le plus récent changeset dans le dépôt. Si vous créez un autre changeset (et nous le ferons bientôt), l'étiquette tip sera retirée du plus récent changeset et sera ajouté au nouveau changeset.
user identifie la personne qui a créé le changeset. C'est une chaîne de forme libre, qui contient généralement une adresse e-mail, et parfois le nom de la personne également.
date définit la date à laquelle le changeset a été créé. Ces dates sont données dans la zone horaire locale correspondant au fuseau horaire du créateur du changeset.
summary donne la première ligne de description du changeset. Elle a été entrée par le créateur du changeset en question au moment ou il l'a créé, pour s'aider et aider les autres à comprendre le but du changeset.
parent définit le changeset parent. Dans certains cas, il en existe plus d'un, ce qui arrive lorsque vous fusionnez (merge) les changements depuis différents dépôts.
- La plupart du temps il n'y a qu'un seul changeset parent, qui est le changeset juste plus vieux que celui ci. C'est le cas pour notre exemple juste au dessus.
Nous pouvons avoir un historique plus détaillé en demandant une sortie verbeuse à l'aide de l'option -v, ou l'option globale --debug pour absolument tout :
$ hg log -v changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 files: Makefile description: Create a makefile (...) $ hg log --debug changeset: 1:82e55d328c8ca4ee16520036c0aaace03a5beb65 tag: tip parent: 0:0a04b987be5ae354b710cefeba0e2d9de7ad41a9 parent: -1:0000000000000000000000000000000000000000 manifest: 1:0c7c1d435e6703e03ac6634a7c32da3a082d1600 user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 files+: Makefile extra: branch=default description: Create a makefile (...)
La sortie verbeuse contient quelques champs de plus que la vue par défaut.
files liste les fichiers modifiés dans ce changeset.
description contient la description complète et multiligne du changeset plutôt que simplement la première ligne
- Dans notre cas, les descriptions sont seulement longues d'une ligne, il n'y a donc pas beaucoup de différence.
La sortie --debug ajoute les champs suivants à la sortie verbeuse (cf. aussi Options de debugage):
changeset donne maintenant le ChangeSetID non abrégé
deux champs parent indiquant le ChangeSetID de chaque parents de ce changeset où -1:0000000000000000000000000000000000000000 réfère à un parent inexistant.
manifest donne le manifest ID pour ce changeset.
file+ liste le ou les fichiers ajoutés à ce changeset.
file- liste le ou les fichiers retirés dans ce changeset.
La commande log vient avec une option -r pour voir les changesets spécifiques
$ hg log -r1 changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile
L'option -r supporte actuellement une syntaxe très flexible pour sélectionner un ensemble de changeset. Cependant, en raison du nombre limité de changeset disponibles dans notre dépôt d'exemple, nous sommes dans l'impossibilité de donner une bonne démonstration. Référez vous SVP à la manpage pour plus d'information.
La commande log vient aussi avec une option -p pour montrer les patches associés aux changesets:
$ hg log -r1 -p changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile diff -r 0a04b987be5a -r 82e55d328c8c Makefile --- /dev/null Fri Aug 26 01:20:50 2005 -0700 +++ b/Makefile Fri Aug 26 01:21:28 2005 -0700 @@ -0,0 +1,1 @@ +all: hello
Nous pouvons aussi utiliser la commande tip pour afficher des information sur le tip, i.e. le dernier changeset. La commande tip peut être considérée comme un raccourci de notation pour log -r tip.
$ hg tip changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile $ hg log -r tip changeset: 1:82e55d328c8c tag: tip user: mpm@selenic.com date: Fri Aug 26 01:21:28 2005 -0700 summary: Create a makefile
Maintenant que nous avons une idée plus claire de ce qui se passe, plongeons-nous dedans et faisons des modifications ! En avant, au FrenchTutorialFirstChange