Differences between revisions 2 and 19 (spanning 17 versions)
Revision 2 as of 2005-08-26 01:22:37
Size: 2810
Editor: waste
Comment:
Revision 19 as of 2009-05-19 19:30:58
Size: 2877
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Tutorial - Fusionner les changements = = #language fr
## page was renamed from TutorialMergeFr
Line 3: Line 4:
Dans le ["TutorialExportation"], nous avons appris comment partager les changements avec d'autres personnes. = Tutorial - Fusionner les changements =

Dans le [[FrenchTutorialExport]], nous avons appris comment partager les changements avec d'autres personnes.
Line 10: Line 13:
 $ cd ..
 $ hg clone my-hello my-hello-desc
$ cd ..
$ hg clone my-hello my-hello-desc
Line 16: Line 19:
 $ cd my-hello-desc
 $ vi hello.c
$ cd my-hello-desc
$ vi hello.c
Line 22: Line 25:
 // hello.c -- hello, world  * hello.c -- hello, world
Line 24: Line 27:
Line 28: Line 32:
 $ hg commit -m'Add description of hello.c' $ hg commit -m"un commentaire"
Line 30: Line 34:
Line 32: Line 37:
Ça marche simplement parfaitement. Pendant que nous somment encore dans my-hello-desc, faisons un pull des changements de my-hello-new-output et regardons ce qui se passe: Ça marche simplement parfaitement. Pendant que nous sommes encore dans my-hello-desc, faisons un pull des changements de my-hello-new-output et regardons ce qui se passe:
Line 35: Line 40:
 $ hg pull ../my-hello-new-output
 pulling from ../my-hello-new-output/
 searching for changes
 adding changesets
 adding manifests
 adding file revisions
 modified 1 files, added 1 changesets and 1 new revisions
 (run 'hg update' to get a working copy)
$ hg pull ../my-hello-new-output
pulling from ../my-hello-new-output
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg update' to get a working copy)
Line 44: Line 49:
Cela semble juste comme l'affichage de pull dans le ["TutorialPartageChangements"]] ! Donc tout ce qui nous reste à faire est un update, juste ?
Cela semble juste comme l'affichage de pull dans le [[FrenchTutorialShareChange]] ! Donc tout ce qui nous reste à faire est un update, juste ?
Line 47: Line 53:
 $ hg update
 this update spans a branch affecting the following files:
  hello.c (resolve)
 aborting update spanning branches!
 (use update -m to perform a branch merge)
$ hg update
this update spans a branch affecting the following files:
 hello.c (resolve)
aborting update spanning branches!
(use update -m to merge across branches or -C to lose changes)
Line 53: Line 59:
Line 58: Line 65:
 $ hg update -m
 merging hello.c
$ hg update -m
merging hello.c
Line 61: Line 68:
Line 65: Line 73:
Continuons, et apprenons comment réagir dans des situations où des conflits sont apparus, après que des changements aient été faits. Ceci dans le ["TutorialGestionConflits"]. Continuons, et apprenons comment réagir dans des situations où des conflits sont apparus, après que des changements ont été faits. Ceci dans le [[FrenchTutorialConflict]].
----
CategoryFrench

Tutorial - Fusionner les changements

Dans le FrenchTutorialExport, nous avons appris comment partager les changements avec d'autres personnes.

Mettons-nous maintenant en position du receveur du Changeset.

Premièrement, nous devons créer une raison de fusionner. Clonons le dépôt my-hello de nouveau.

$ cd ..
$ hg clone my-hello my-hello-desc

Nous allons donner à hello.c une description dans sa section commentaire (à créer)

$ cd my-hello-desc
$ vi hello.c

Modifions la seconde ligne (vide) en :

 * hello.c -- hello, world

Sauvons et quittons l'éditeur, et commitons (soumettons) nos changements. Cette fois-ci, nous gagnons un peu de temps en utilisant l'option -m de la commande commit qui permet de ne pas être envoyé dans notre éditeur par défault:

$ hg commit -m"un commentaire"

Maintenant, nous avons fait des changements dans hello.c dans le dépôt my-hello-new-output, et un autre changement à hello.c dans le dépôt my-hello-desc. Va-t-il y avoir un problème lorsque nous ferons un pull de l'un à l'autre ?

Ça marche simplement parfaitement. Pendant que nous sommes encore dans my-hello-desc, faisons un pull des changements de my-hello-new-output et regardons ce qui se passe:

$ hg pull ../my-hello-new-output
pulling from ../my-hello-new-output
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg update' to get a working copy)

Cela semble juste comme l'affichage de pull dans le FrenchTutorialShareChange ! Donc tout ce qui nous reste à faire est un update, juste ?

$ hg update
this update spans a branch affecting the following files:
 hello.c (resolve)
aborting update spanning branches!
(use update -m to merge across branches or -C to lose changes)

Quelque chose s'est passé. Mercurial vous dit que vous devez merger (fusionner) les changements que nous avons fait dans chaque dépôt. Cela semble douloureux, non ?

C'est heureusement très simple. Nous suivons simplement les instructions:

$ hg update -m
merging hello.c

Et c'est tout ce qu'il y a à faire; Mercurial a été capable de diriger la fusion de manière complètement automatique. Si nous regardons hello.c maintenant, nous verrons qu'il contient et les changements de my-hello-new-output, et ceux de my-hello-desc.

La plupart du temps, quand vous travaillez avec des changements faits par d'autres personnes, c'est le seul type de fusion que vous aurez besoin de faire.

Continuons, et apprenons comment réagir dans des situations où des conflits sont apparus, après que des changements ont été faits. Ceci dans le FrenchTutorialConflict.


CategoryFrench

FrenchTutorialMerge (last edited 2012-11-11 20:00:26 by abuehl)