Differences between revisions 12 and 13
Revision 12 as of 2008-08-08 10:02:44
Size: 1226
Comment: Resolve renamed to ResolveConflict
Revision 13 as of 2009-05-19 19:31:05
Size: 1230
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
A '''conflict''' occurs when two independent [:ChangeSet:changesets] modify overlapping sections of a file in different ways. During a [:Merge:merge], Mercurial may require the assistance of the user through a
[:MergeProgram:merge program] which can be used to [:ResolveConflict:resolve] those conflicts.
A '''conflict''' occurs when two independent [[ChangeSet|changesets]] modify overlapping sections of a file in different ways. During a [[Merge|merge]], Mercurial may require the assistance of the user through a
[[MergeProgram|merge program]] which can be used to [[ResolveConflict|resolve]] those conflicts.

Conflict

A conflict occurs when two independent changesets modify overlapping sections of a file in different ways. During a merge, Mercurial may require the assistance of the user through a merge program which can be used to resolve those conflicts.

If the merge program is not a graphical tool, a common fallback behavior is to use diff3 for highlighting the conflict in the file using conflict markers. A text editor can be used to resolve the conflicts manually.


For example:

Given the base file:

$ cat base
A
B
C

assuming local is your modified copy of base:

$ cat local
A
B - my local changes
C

and assuming other is another modified copy of base:

$ cat other
A
B - changes made by others
C

then there's obviously a conflicting change on the B line. The "merged" content, as produced by the GNU diff3 program, will look like this:

$ diff3 -m local base other
A
<<<<<<< local
B - my local changes
||||||| base
B
=======
B - changes made by others
>>>>>>> other
C

See also: TutorialConflict, ImergeExtension


CategoryGlossary

Conflict (last edited 2012-11-11 18:40:24 by abuehl)