Mercurial - Exemple de fusion de 2 révisions

Les deux branches sont des branches anonymes obtenues par un : hg update -r 0 (ou équivalent).
Cet exemple de fusion vous démontre l'ajout de fichiers et modification d'un même fichier dans chaque branche dans un dépôt Mercurial.
Il utilise l'outil KDiff3 (par défaut) pour la fusion des lignes d'un fichier.
Remarque : normalement les ordres hg commit, hg tag (et d'autres) nécessitent d'ajouter une propriété -u bruno pour indiquer qui a réalisé l'ordre hg commit.
Pour indiquer à Mercurial un vakeur par défaut, il suffit d'ajouter dans le fichier .hg/hgrc (le créer, s'il n'existe pas) du dépôt :

[ui]
username = bruno <bruno.anselin@lycee.jb>

Création du dépôt Mercurial

Instruction de création

i:\essais>hg init essai_merge

Variante :

i:\essais\>mkdir essai_merge
i:\essais\>cd essai_merge
i:\essais\essai_merge>hg init

Vérification dans la copie de travail

i:\essais\essai_merge>cd essai_merge

i:\essais\essai_merge>ls -al

total 0
drwxrwxrwx 1 user group 0 Jun 23 07:48 .
drwxrwxrwx 1 user group 0 Jun 3 09:41 ..
drwxrwxrwx 1 user group 0 Jun 23 07:48 .hg

Pour Mercurial, il ne s'est rien passé en termes de révisions

i:\essais\essai_merge>hg tags

tip -1:0000000000000000000000000000000000000000

i:\essais\essai_merge>hg status

i:\essais\essai_merge>hg log

i:\essais\essai_merge>hg glog

i:\essais\essai_merge>hg tag Version_initiale

abort: cannot tag null revision

Premières Modifications

Dans la copie de travail

Création de trois fichiers : f0.txt, f1.txt, f3.txt.

i:\essais\essai_merge>type f0.txt

f0
f1
f3

i:\essais\essai_merge>type f1.txt

1

i:\essais\essai_merge>type f3.txt

3

Premières Manipulations dans le dépôt Mercurial

Vérifications

i:\essais\essai_merge>hg status

? f0.txt
? f1.txt
? f3.txt

Ajouts dans le dépôt

i:\essais\essai_merge>hg add f0.txt f1.txt f3.txt

adding f0.txt
adding f1.txt
adding f3.txt

i:\essais\essai_merge>hg status

A f0.txt
A f1.txt
A f3.txt

Enregistrement des ajouts

i:\essais\essai_merge>hg commit -m "ajout fic0, fic1 et fic3 et f0, f1,f3 dans f0"

f0.txt
f1.txt
f3.txt
calling hook commit.lfiles: hgext.largefiles.reposetup.checkrequireslfiles
committed changeset 0:e247eeb83ffee66d1164c2e85520222f03975ece

Création d'une étiquette

i:\essais\essai_merge>hg tags

tip 0:e247eeb83ffee66d1164c2e85520222f03975ece

i:\essais\essai_merge>hg tag Version_initiale

.hgtags
calling hook commit.lfiles: hgext.largefiles.reposetup.checkrequireslfiles

i:\essais\essai_merge>hg tags

tip 1:795a063c03e31056e8234288916dcca7ea04f7c0
Version_initiale 0:e247eeb83ffee66d1164c2e85520222f03975ece

Vérifications des modifications dans le dépôt

i:\essais\essai_merge>hg log

changeset: 1:795a063c03e31056e8234288916dcca7ea04f7c0
tag: tip
phase: draft
parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
parent: -1:0000000000000000000000000000000000000000
manifest: 1:83e4ce4be9acd81574d6b32190e26416f1cd4777
user: bruno
date: Mon Jun 23 08:07:49 2014 +0200
files+: .hgtags
extra: branch=default
description:
Added tag Version_initiale for changeset e247eeb83ffe
changeset: 0:e247eeb83ffee66d1164c2e85520222f03975ece
tag: Version_initiale
phase: draft
parent: -1:0000000000000000000000000000000000000000
parent: -1:0000000000000000000000000000000000000000
manifest: 0:77d0aa853d8a3e81489cf555ac8b8588e02eee98
user: bruno
date: Mon Jun 23 08:05:19 2014 +0200
files+: f0.txt f1.txt f3.txt
extra: branch=default
description:
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

i:\essais\essai_merge>hg glog –style compact

@ 1[tip]:0,-1 795a063c03e3 2014-06-23 08:07 +0200 bruno
| Added tag Version_initiale for changeset e247eeb83ffe
|
o 0[Version_initiale]:-1,-1 e247eeb83ffe 2014-06-23 08:05 +0200 bruno
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

i:\essais\essai_merge>hg glog

@ changeset: 1:795a063c03e31056e8234288916dcca7ea04f7c0
| tag: tip
| phase: draft
| parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
| parent: -1:0000000000000000000000000000000000000000
| manifest: 1:83e4ce4be9acd81574d6b32190e26416f1cd4777
| user: bruno
| date: Mon Jun 23 08:07:49 2014 +0200
| files+: .hgtags
| extra: branch=default
| description:
| Added tag Version_initiale for changeset e247eeb83ffe
|
|
o changeset: 0:e247eeb83ffee66d1164c2e85520222f03975ece
tag: Version_initiale
phase: draft
parent: -1:0000000000000000000000000000000000000000
parent: -1:0000000000000000000000000000000000000000
manifest: 0:77d0aa853d8a3e81489cf555ac8b8588e02eee98
user: bruno
date: Mon Jun 23 08:05:19 2014 +0200
files+: f0.txt f1.txt f3.txt
extra: branch=default
description:
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

Remarque, il est possible de modifier le "template" d'affichage.

Par exemple avec : hg log –style changelog

2014-06-23 09:41 +0200 bruno <bruno> (f2d7f8989417 [tip])
* .hgtags:
Added tag Version_1 for changeset eb84015432f0
2014-06-23 09:31 +0200 bruno <bruno> (eb84015432f0 [Version_1])
* .hgtags: new file.
* f0.txt:
validation de la fusion sur f0
2014-06-23 09:00 +0200 bruno <bruno> (955c4b3c727b)
* f2.txt, f4.txt: new file.
* f0.txt, f2.txt, f4.txt:
ajout fic2 et fic4 et ajout d'une ligne dans fic0
2014-06-23 08:25 +0200 bruno <bruno> (ad1756145b6f)
* f0.txt:
ajout d'une ligne dans f0
2014-06-23 08:07 +0200 bruno <bruno> (795a063c03e3)
* .hgtags: new file.
* .hgtags:
Added tag Version_initiale for changeset e247eeb83ffe
2014-06-23 08:05 +0200 bruno <bruno> (e247eeb83ffe [Version_initiale])
* f0.txt, f1.txt, f3.txt: new file.
* f0.txt, f1.txt, f3.txt:
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

Vérification dans la copie de travail

i:\essais\essai_merge>ls -al

total 4
drwxrwxrwx 1 user group 0 Jun 23 07:48 .
drwxrwxrwx 1 user group 0 Jun 3 09:41 ..
drwxrwxrwx 1 user group 0 Jun 23 07:48 .hg
-rw-rw-rw- 1 user group 58 Jun 23 08:07 .hgtags
-rw-rw-rw- 1 user group 12 Jun 23 07:46 f0.txt
-rw-rw-rw- 1 user group 3 Jun 23 07:49 f1.txt
-rw-rw-rw- 1 user group 3 Jun 23 07:49 f3.txt

Modification de f0.txt

Dans la copie de travail

i:\essais\essai_merge>type f0.txt

f0
f1
f3
ajout d'une ligne dans f0

Modification dans le dépôt

i:\essais\essai_merge>hg commit -m "ajout d'une ligne dans f0"

f0.txt
calling hook commit.lfiles: hgext.largefiles.reposetup.checkrequireslfiles
committed changeset 2:ad1756145b6fa75256040d162a59c9058ae16cdf

Vérifications

i:\essais\essai_merge>hg log

changeset: 2:ad1756145b6fa75256040d162a59c9058ae16cdf
tag: tip
phase: draft
parent: 1:795a063c03e31056e8234288916dcca7ea04f7c0
parent: -1:0000000000000000000000000000000000000000
manifest: 2:ae9172c4fdf7c43d83e0d946ca0120be8185f0a7
user: bruno
date: Mon Jun 23 08:25:12 2014 +0200
files: f0.txt
extra: branch=default
description:
ajout d'une ligne dans f0
changeset: 1:795a063c03e31056e8234288916dcca7ea04f7c0
phase: draft
parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
parent: -1:0000000000000000000000000000000000000000
manifest: 1:83e4ce4be9acd81574d6b32190e26416f1cd4777
user: bruno
date: Mon Jun 23 08:07:49 2014 +0200
files+: .hgtags
extra: branch=default
description:
Added tag Version_initiale for changeset e247eeb83ffe
changeset: 0:e247eeb83ffee66d1164c2e85520222f03975ece
tag: Version_initiale
phase: draft
parent: -1:0000000000000000000000000000000000000000
parent: -1:0000000000000000000000000000000000000000
manifest: 0:77d0aa853d8a3e81489cf555ac8b8588e02eee98
user: bruno
date: Mon Jun 23 08:05:19 2014 +0200
files+: f0.txt f1.txt f3.txt
extra: branch=default
description:
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

i:\essais\essai_merge>hg glog –style compact

@ 2[tip]:1,-1 ad1756145b6f 2014-06-23 08:25 +0200 bruno
| ajout d'une ligne dans f0
|
o 1:0,-1 795a063c03e3 2014-06-23 08:07 +0200 bruno
| Added tag Version_initiale for changeset e247eeb83ffe
|
o 0[Version_initiale]:-1,-1 e247eeb83ffe 2014-06-23 08:05 +0200 bruno
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

i:\essais\essai_merge>hg glog

@ changeset: 2:ad1756145b6fa75256040d162a59c9058ae16cdf
| tag: tip
| phase: draft
| parent: 1:795a063c03e31056e8234288916dcca7ea04f7c0
| parent: -1:0000000000000000000000000000000000000000
| manifest: 2:ae9172c4fdf7c43d83e0d946ca0120be8185f0a7
| user: bruno
| date: Mon Jun 23 08:25:12 2014 +0200
| files: f0.txt
| extra: branch=default
| description:
| ajout d'une ligne dans f0
|
|
o changeset: 1:795a063c03e31056e8234288916dcca7ea04f7c0
| phase: draft
| parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
| parent: -1:0000000000000000000000000000000000000000
| manifest: 1:83e4ce4be9acd81574d6b32190e26416f1cd4777
| user: bruno
| date: Mon Jun 23 08:07:49 2014 +0200
| files+: .hgtags
| extra: branch=default
| description:
| Added tag Version_initiale for changeset e247eeb83ffe
|
|
o changeset: 0:e247eeb83ffee66d1164c2e85520222f03975ece
tag: Version_initiale
phase: draft
parent: -1:0000000000000000000000000000000000000000
parent: -1:0000000000000000000000000000000000000000
manifest: 0:77d0aa853d8a3e81489cf555ac8b8588e02eee98
user: bruno
date: Mon Jun 23 08:05:19 2014 +0200
files+: f0.txt f1.txt f3.txt
extra: branch=default
description:
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

Créer une nouvelle branche anonyme

Il suffit de :

mettre à jour la copie de travail à partir d'une révision déjà enregistrée (hg update -r N) : de modifier la copie de travail actuelle en "revenant en arrière" dans la suite des révisions (changesets) ;

de modifier la copie de travail ;

puis d'enregistrer une nouvelle révision.

Revenir à une version enregistrée antérieurement

Il y aura, ici, deux méthodes : en indiquant le numéro de révision ou, quand, elle existe en indiquant l'étiquette de cette révision.

Méthode 1 (habituelle)

i:\essais\essai_merge>hg update -r 0

resolving manifests
branchmerge: False, force: False, partial: False
ancestor: ad1756145b6f, local: ad1756145b6f+, remote: e247eeb83ffe
.hgtags: other deleted -> r
f0.txt: remote is newer -> g
removing .hgtags
updating: .hgtags 1/2 files (50.00%)
getting f0.txt
updating: f0.txt 2/2 files (100.00%)
1 files updated, 0 files merged, 1 files removed, 0 files unresolved

Méthode 2

i:\essais\essai_merge>hg update -r Version_initiale

0 files updated, 0 files merged, 0 files removed, 0 files unresolved

Vérification dans la copie de travail

i:\essais\essai_merge>ls -al

total 3
drwxrwxrwx 1 user group 0 Jun 23 07:48 .
drwxrwxrwx 1 user group 0 Jun 3 09:41 ..
drwxrwxrwx 1 user group 0 Jun 23 07:48 .hg
-rw-rw-rw- 1 user group 12 Jun 23 08:31 f0.txt
-rw-rw-rw- 1 user group 3 Jun 23 07:49 f1.txt
-rw-rw-rw- 1 user group 3 Jun 23 07:49 f3.txt

i:\essais\essai_merge>type f0.txt

f0
f1
f3

Modification de la copie de travail

Création de deux fichiers : f2.txt, f4.txt

i:\essais\essai_merge>type f2.txt f4.txt

f2.txt
2
f4.txt
4

Modification de f0.txt

i:\essais\essai_merge>type f0.txt

f0
f1
f3
f2
f4
ajout d'une ligne dans f0

Enregistrer les modifications dans le dépôt Mercurial

i:\essais\essai_merge>hg status

M f0.txt
? f2.txt
? f4.txt

i:\essais\essai_merge>hg add f2.txt f4.txt

adding f2.txt
adding f4.txt

i:\essais\essai_merge>hg status

M f0.txt
A f2.txt
A f4.txt

i:\essais\essai_merge>hg commit -m "ajout fic2 et fic4 et ajout d'une ligne dans fic0"

f0.txt
f2.txt
f4.txt
calling hook commit.lfiles: hgext.largefiles.reposetup.checkrequireslfiles
created new head
committed changeset 3:955c4b3c727b4b0a7416cdade8a87b74d20c2f6b

Visualisation des changements après commit

i:\essais\essai_merge>hg glog –style compact

@ 3[tip]:0,-1 955c4b3c727b 2014-06-23 09:00 +0200 bruno
| ajout fic2 et fic4 et ajout d'une ligne dans fic0
|
| o 2:1,-1 ad1756145b6f 2014-06-23 08:25 +0200 bruno
| | ajout d'une ligne dans f0
| |
| o 1:0,-1 795a063c03e3 2014-06-23 08:07 +0200 bruno
|/ Added tag Version_initiale for changeset e247eeb83ffe
|
o 0[Version_initiale]:-1,-1 e247eeb83ffe 2014-06-23 08:05 +0200 bruno
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

i:\essais\essai_merge>hg glog

@ changeset: 3:955c4b3c727b4b0a7416cdade8a87b74d20c2f6b
| tag: tip
| phase: draft
| parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
| parent: -1:0000000000000000000000000000000000000000
| manifest: 3:677c1a02fab6d8d10ca0a7138ab331cf69472a03
| user: bruno
| date: Mon Jun 23 09:00:00 2014 +0200
| files: f0.txt
| files+: f2.txt f4.txt
| extra: branch=default
| description:
| ajout fic2 et fic4 et ajout d'une ligne dans fic0
|
|
| o changeset: 2:ad1756145b6fa75256040d162a59c9058ae16cdf
| | phase: draft
| | parent: 1:795a063c03e31056e8234288916dcca7ea04f7c0
| | parent: -1:0000000000000000000000000000000000000000
| | manifest: 2:ae9172c4fdf7c43d83e0d946ca0120be8185f0a7
| | user: bruno
| | date: Mon Jun 23 08:25:12 2014 +0200
| | files: f0.txt
| | extra: branch=default
| | description:
| | ajout d'une ligne dans f0
| |
| |
| o changeset: 1:795a063c03e31056e8234288916dcca7ea04f7c0
|/ phase: draft
| parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
| parent: -1:0000000000000000000000000000000000000000
| manifest: 1:83e4ce4be9acd81574d6b32190e26416f1cd4777
| user: bruno
| date: Mon Jun 23 08:07:49 2014 +0200
| files+: .hgtags
| extra: branch=default
| description:
| Added tag Version_initiale for changeset e247eeb83ffe
|
|
o changeset: 0:e247eeb83ffee66d1164c2e85520222f03975ece
tag: Version_initiale
phase: draft
parent: -1:0000000000000000000000000000000000000000
parent: -1:0000000000000000000000000000000000000000
manifest: 0:77d0aa853d8a3e81489cf555ac8b8588e02eee98
user: bruno
date: Mon Jun 23 08:05:19 2014 +0200
files+: f0.txt f1.txt f3.txt
extra: branch=default
description:
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

i:\essais\essai_merge>hg log

changeset: 3:955c4b3c727b4b0a7416cdade8a87b74d20c2f6b
tag: tip
phase: draft
parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
parent: -1:0000000000000000000000000000000000000000
manifest: 3:677c1a02fab6d8d10ca0a7138ab331cf69472a03
user: bruno
date: Mon Jun 23 09:00:00 2014 +0200
files: f0.txt
files+: f2.txt f4.txt
extra: branch=default
description:
ajout fic2 et fic4 et ajout d'une ligne dans fic0
changeset: 2:ad1756145b6fa75256040d162a59c9058ae16cdf
phase: draft
parent: 1:795a063c03e31056e8234288916dcca7ea04f7c0
parent: -1:0000000000000000000000000000000000000000
manifest: 2:ae9172c4fdf7c43d83e0d946ca0120be8185f0a7
user: bruno
date: Mon Jun 23 08:25:12 2014 +0200
files: f0.txt
extra: branch=default
description:
ajout d'une ligne dans f0
changeset: 1:795a063c03e31056e8234288916dcca7ea04f7c0
phase: draft
parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
parent: -1:0000000000000000000000000000000000000000
manifest: 1:83e4ce4be9acd81574d6b32190e26416f1cd4777
user: bruno
date: Mon Jun 23 08:07:49 2014 +0200
files+: .hgtags
extra: branch=default
description:
Added tag Version_initiale for changeset e247eeb83ffe
changeset: 0:e247eeb83ffee66d1164c2e85520222f03975ece
tag: Version_initiale
phase: draft
parent: -1:0000000000000000000000000000000000000000
parent: -1:0000000000000000000000000000000000000000
manifest: 0:77d0aa853d8a3e81489cf555ac8b8588e02eee98
user: bruno
date: Mon Jun 23 08:05:19 2014 +0200
files+: f0.txt f1.txt f3.txt
extra: branch=default
description:
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

i:\essais\essai_merge>hg heads

changeset: 3:955c4b3c727b4b0a7416cdade8a87b74d20c2f6b
tag: tip
phase: draft
parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
parent: -1:0000000000000000000000000000000000000000
manifest: 3:677c1a02fab6d8d10ca0a7138ab331cf69472a03
user: bruno
date: Mon Jun 23 09:00:00 2014 +0200
files: f0.txt
files+: f2.txt f4.txt
extra: branch=default
description:
ajout fic2 et fic4 et ajout d'une ligne dans fic0
changeset: 2:ad1756145b6fa75256040d162a59c9058ae16cdf
phase: draft
parent: 1:795a063c03e31056e8234288916dcca7ea04f7c0
parent: -1:0000000000000000000000000000000000000000
manifest: 2:ae9172c4fdf7c43d83e0d946ca0120be8185f0a7
user: bruno
date: Mon Jun 23 08:25:12 2014 +0200
files: f0.txt
extra: branch=default
description:
ajout d'une ligne dans f0

Visualisation des têtes (heads)

i:\essais\essai_merge>hg heads –style compact

3[tip]:0,-1 955c4b3c727b 2014-06-23 09:00 +0200 bruno
ajout fic2 et fic4 et ajout d'une ligne dans fic0
2:1,-1 ad1756145b6f 2014-06-23 08:25 +0200 bruno
ajout d'une ligne dans f0

Fusion des deux branches

Par défaut, la branche courante est fusionnée avec l'autre branche dans la branche courante.

Ici, tout se passe dans le dépôt Mercurial. La copie de travail servira, aussi, pour les vérifications.

Création de la fusion

i:\essais\essai_merge>hg merge

searching for copies back to rev 1
unmatched files in local:
f2.txt
f4.txt
unmatched files in other:
.hgtags
resolving manifests
branchmerge: True, force: False, partial: False
ancestor: e247eeb83ffe, local: 955c4b3c727b+, remote: ad1756145b6f
.hgtags: remote created -> g
f0.txt: versions differ -> m
preserving f0.txt for resolve of f0.txt
getting .hgtags
updating: .hgtags 1/2 files (50.00%)
updating: f0.txt 2/2 files (100.00%)
picked tool 'kdiff3' for f0.txt (binary False symlink False)
merging f0.txt
my f0.txt@955c4b3c727b+ other f0.txt@ad1756145b6f ancestor f0.txt@e247eeb83ffe

Puis affichage de la fenêtre de KDiff3 :

La fusion des modifications sur le fichier commun (output) se fait grâce à l'outil KDiff3 : se placer sur le fichier « Output », puis cliquer sur le A ou le B (en haut) pour sélectionner les lignes qui seront ajoutées dans le fichier de fusion.

Il faut, ensuite, enregistrer puis fermer la fenête KDiff3.

Dans l'invite de commandes, s'afficha alors :

1 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)

Enregistrement de la fusion

i:\essais\essai_merge>hg status

M f0.txt

i:\essais\essai_merge>hg commit -m "validation de la fusion sur f0"

.hgtags
f0.txt
calling hook commit.lfiles: hgext.largefiles.reposetup.checkrequireslfiles
committed changeset 4:eb84015432f038148692fedbfee44e2d4ea1f0f2

i:\essais\essai_merge>hg summary

parent: 4:eb84015432f0 tip
validation de la fusion sur f0
branch: default
commit: (clean)
update: (current)
mq: (empty queue)

Vérification de la fusion dans le dépôt Mercurial

i:\essais\essai_merge>hg glog –style compact

@ 4[tip]:3,2 eb84015432f0 2014-06-23 09:31 +0200 bruno
|\ validation de la fusion sur f0
| |
| o 3:0,-1 955c4b3c727b 2014-06-23 09:00 +0200 bruno
| | ajout fic2 et fic4 et ajout d'une ligne dans fic0
| |
o | 2:1,-1 ad1756145b6f 2014-06-23 08:25 +0200 bruno
| | ajout d'une ligne dans f0
| |
o | 1:0,-1 795a063c03e3 2014-06-23 08:07 +0200 bruno
|/ Added tag Version_initiale for changeset e247eeb83ffe
|
o 0[Version_initiale]:-1,-1 e247eeb83ffe 2014-06-23 08:05 +0200 bruno
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

i:\essais\essai_merge>hg log –style compact

4[tip]:3,2 eb84015432f0 2014-06-23 09:31 +0200 bruno
validation de la fusion sur f0
3:0,-1 955c4b3c727b 2014-06-23 09:00 +0200 bruno
ajout fic2 et fic4 et ajout d'une ligne dans fic0
2:1,-1 ad1756145b6f 2014-06-23 08:25 +0200 bruno
ajout d'une ligne dans f0
1:0,-1 795a063c03e3 2014-06-23 08:07 +0200 bruno
Added tag Version_initiale for changeset e247eeb83ffe
0[Version_initiale]:-1,-1 e247eeb83ffe 2014-06-23 08:05 +0200 bruno
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

I:\essais\essai_merge>hg glog

@ changeset: 4:eb84015432f038148692fedbfee44e2d4ea1f0f2
|\ tag: tip
| | phase: draft
| | parent: 3:955c4b3c727b4b0a7416cdade8a87b74d20c2f6b
| | parent: 2:ad1756145b6fa75256040d162a59c9058ae16cdf
| | manifest: 4:99b996448c45df0affc386705d03b10952aa3864
| | user: bruno
| | date: Mon Jun 23 09:31:49 2014 +0200
| | files: f0.txt
| | files+: .hgtags
| | extra: branch=default
| | description:
| | validation de la fusion sur f0
| |
| |
| o changeset: 3:955c4b3c727b4b0a7416cdade8a87b74d20c2f6b
| | phase: draft
| | parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
| | parent: -1:0000000000000000000000000000000000000000
| | manifest: 3:677c1a02fab6d8d10ca0a7138ab331cf69472a03
| | user: bruno
| | date: Mon Jun 23 09:00:00 2014 +0200
| | files: f0.txt
| | files+: f2.txt f4.txt
| | extra: branch=default
| | description:
| | ajout fic2 et fic4 et ajout d'une ligne dans fic0
| |
| |
o | changeset: 2:ad1756145b6fa75256040d162a59c9058ae16cdf
| | phase: draft
| | parent: 1:795a063c03e31056e8234288916dcca7ea04f7c0
| | parent: -1:0000000000000000000000000000000000000000
| | manifest: 2:ae9172c4fdf7c43d83e0d946ca0120be8185f0a7
| | user: bruno
| | date: Mon Jun 23 08:25:12 2014 +0200
| | files: f0.txt
| | extra: branch=default
| | description:
| | ajout d'une ligne dans f0
| |
| |
o | changeset: 1:795a063c03e31056e8234288916dcca7ea04f7c0
|/ phase: draft
| parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
| parent: -1:0000000000000000000000000000000000000000
| manifest: 1:83e4ce4be9acd81574d6b32190e26416f1cd4777
| user: bruno
| date: Mon Jun 23 08:07:49 2014 +0200
| files+: .hgtags
| extra: branch=default
| description:
| Added tag Version_initiale for changeset e247eeb83ffe
|
|
o changeset: 0:e247eeb83ffee66d1164c2e85520222f03975ece
tag: Version_initiale
phase: draft
parent: -1:0000000000000000000000000000000000000000
parent: -1:0000000000000000000000000000000000000000
manifest: 0:77d0aa853d8a3e81489cf555ac8b8588e02eee98
user: bruno
date: Mon Jun 23 08:05:19 2014 +0200
files+: f0.txt f1.txt f3.txt
extra: branch=default
description:
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

I:\essais\essai_merge>hg log

changeset: 4:eb84015432f038148692fedbfee44e2d4ea1f0f2
tag: tip
phase: draft
parent: 3:955c4b3c727b4b0a7416cdade8a87b74d20c2f6b
parent: 2:ad1756145b6fa75256040d162a59c9058ae16cdf
manifest: 4:99b996448c45df0affc386705d03b10952aa3864
user: bruno
date: Mon Jun 23 09:31:49 2014 +0200
files: f0.txt
files+: .hgtags
extra: branch=default
description:
validation de la fusion sur f0
changeset: 3:955c4b3c727b4b0a7416cdade8a87b74d20c2f6b
phase: draft
parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
parent: -1:0000000000000000000000000000000000000000
manifest: 3:677c1a02fab6d8d10ca0a7138ab331cf69472a03
user: bruno
date: Mon Jun 23 09:00:00 2014 +0200
files: f0.txt
files+: f2.txt f4.txt
extra: branch=default
description:
ajout fic2 et fic4 et ajout d'une ligne dans fic0
changeset: 2:ad1756145b6fa75256040d162a59c9058ae16cdf
phase: draft
parent: 1:795a063c03e31056e8234288916dcca7ea04f7c0
parent: -1:0000000000000000000000000000000000000000
manifest: 2:ae9172c4fdf7c43d83e0d946ca0120be8185f0a7
user: bruno
date: Mon Jun 23 08:25:12 2014 +0200
files: f0.txt
extra: branch=default
description:
ajout d'une ligne dans f0
changeset: 1:795a063c03e31056e8234288916dcca7ea04f7c0
phase: draft
parent: 0:e247eeb83ffee66d1164c2e85520222f03975ece
parent: -1:0000000000000000000000000000000000000000
manifest: 1:83e4ce4be9acd81574d6b32190e26416f1cd4777
user: bruno
date: Mon Jun 23 08:07:49 2014 +0200
files+: .hgtags
extra: branch=default
description:
Added tag Version_initiale for changeset e247eeb83ffe
changeset: 0:e247eeb83ffee66d1164c2e85520222f03975ece
tag: Version_initiale
phase: draft
parent: -1:0000000000000000000000000000000000000000
parent: -1:0000000000000000000000000000000000000000
manifest: 0:77d0aa853d8a3e81489cf555ac8b8588e02eee98
user: bruno
date: Mon Jun 23 08:05:19 2014 +0200
files+: f0.txt f1.txt f3.txt
extra: branch=default
description:
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0

Vérification dans la copie de travail

I:\essais\essai_merge>type f0.txt

f0
f1
f3
f2
ajout d'une ligne dans f0
f4
ajout d'une ligne dans f0

I:\essais\essai_merge>ls -al

total 6
drwxrwxrwx 1 user group 0 Jun 23 07:48 .
drwxrwxrwx 1 user group 0 Jun 3 09:41 ..
drwxrwxrwx 1 user group 0 Jun 23 07:48 .hg
-rw-rw-rw- 1 user group 58 Jun 23 09:18 .hgtags
-rw-rw-rw- 1 user group 72 Jun 23 09:30 f0.txt
-rw-rw-rw- 1 user group 3 Jun 23 07:49 f1.txt
-rw-rw-rw- 1 user group 3 Jun 23 07:49 f2.txt
-rw-rw-rw- 1 user group 3 Jun 23 07:49 f3.txt
-rw-rw-rw- 1 user group 3 Jun 23 07:49 f4.txt

Création d'une étiquette de version dans le dépôt Mercurial

I:\essais\essai_merge>hg tag Version_1

.hgtags
calling hook commit.lfiles: hgext.largefiles.reposetup.checkrequireslfiles

I:\essais\essai_merge>hg tags

tip 5:f2d7f8989417d94725e90714e4942654bd65f8c2
Version_1 4:eb84015432f038148692fedbfee44e2d4ea1f0f2
Version_initiale 0:e247eeb83ffee66d1164c2e85520222f03975ece

I:\essais\essai_merge>hg glog –style compact

<code>@ 5[tip]:4,-1 f2d7f8989417 2014-06-23 09:41 +0200 bruno
| Added tag Version_1 for changeset eb84015432f0
|
o 4[Version_1]:3,2 eb84015432f0 2014-06-23 09:31 +0200 bruno
|\ validation de la fusion sur f0
| |
| o 3:0,-1 955c4b3c727b 2014-06-23 09:00 +0200 bruno
| | ajout fic2 et fic4 et ajout d'une ligne dans fic0
| |
o | 2:1,-1 ad1756145b6f 2014-06-23 08:25 +0200 bruno
| | ajout d'une ligne dans f0
| |
o | 1:0,-1 795a063c03e3 2014-06-23 08:07 +0200 bruno
|/ Added tag Version_initiale for changeset e247eeb83ffe
|
o 0[Version_initiale]:-1,-1 e247eeb83ffe 2014-06-23 08:05 +0200 bruno
ajout fic0, fic1 et fic3 et f0, f1, f3 dans f0