(Traduction du texte original en anglais : ChangeSet)

Changeset

(pour une courte introduction des concepts de base de Mercurial, voir UnderstandingMercurial)

Un changeset (littéralement : ensemble de changements) est une collection atomique de changements des fichiers dans un dépôt. Il contient tous les modifications locales enregistrées qui mènent à une nouvelle révision du dépôt.

Un changeset est identifié de manière unique par un ID de changeset. Au sein d'un dépôt, on peut l'identifier en utilisant un numéro de révision.

La création d'un changeset est appellé un commit (validation) ou checkin. Un changeset inclue les changements effectués sur les fichiers ainsi que des méta-informations. Les méta-informations d'un changeset incluent :

Chaque changeset possède zéro, un ou deux changesets parent. Il en a deux si le commit était une fusion. Il n'en a pas si le changeset est une racine dans le dépôt. Il peut y avoir plusieurs racines dans un même dépôt (normalement, il n'y en a qu'une), chacune représente le début d'une branche.

Si un changeset n'est pas le head d'une branche, il a un ou plusieurs changesets-fils (et est donc le parent de ces changesets-fils).

Le dossier de travail peut être mis à jour vers n'importe quel changeset validé du dépôt, qui devient de ce fait le parent du dossier de travail.

"Mettre à jour" vers un ancien changeset ayant déjà des fils, modifier des fichiers et puis valider créé un nouveau fils pour ce changeset, donc cela démarre une nouvelle branche. Les branches peuvent être nommées.

Tous les changesets d'un dépôt sont stockés dans un journal.

Voici à quoi ressemble la représentation interne d'un changeset :

$ hg debugdata .hg/00changelog.d 1208
1102691ceab8c8f278edecd80f2e3916090082dd <- le nodeid du manifest correspondant
mpm@selenic.com                          <- l'auteur (committer)
1126146623 25200                         <- la date, timestamp Unix, et offset des secondes depuis l'UTC
mercurial/commands.py                    <- la liste des fichiers modifiés
                                            suivie du commentaire (message associé au commit, ci-dessous)
Nettoyage de la liste locale des fichiers du clonage

Nous utilisons désormais une liste de fichiers explicite pour copier pendant le clonage
ainsi nous ne copions pas tous ce que nous ne devrions pas.

Voir aussi : ChangeSetComments, Design


FrenchGlossary

FrenchChangeSet (last edited 2012-02-22 06:29:10 by Jérôme Melis)