Conflict

A conflict occurs when two independent ["ChangeSet"]s modify overlapping sections of a file in different ways. During a ["Merge"], ["Mercurial"] may require the assistance of the user through a ["MergeProgram"] which can be used to ["Resolve"] those conflicts.

If the ["MergeProgram"] 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


CategoryGlossary