[Bug 5090] New: merge algorithm does a poor job minimizing conflicts

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Tue Feb 9 11:05:25 UTC 2016


https://bz.mercurial-scm.org/show_bug.cgi?id=5090

            Bug ID: 5090
           Summary: merge algorithm does a poor job minimizing conflicts
           Product: Mercurial
           Version: unspecified
          Hardware: PC
                OS: Windows
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: Mercurial
          Assignee: bugzilla at selenic.com
          Reporter: rm at fb.com
                CC: mercurial-devel at selenic.com

When the same "overlapping" changes are created on two different topological
branches, then a rebase occurs, mercurail does a poor job of minimzing the
resulting merge conflict. Specifically, the overlapping changes could, and I
would argue should, be omitted from the conflict, but currently they are
included in the conflict.

This is mercurial's behavior: This https://bpaste.net/show/6cdf08344d55
This is git's behavior: https://bpaste.net/show/bddf3b0b8448

Note that the "c" line is minimized out of the conflict in git, whereas it is
included within the conflict for Mercurial.

Extrapolated out, two topological branches that introduce a new file, with one
change between them will show the entire file in conflict, making the internal
merge essentially useless. This is a common issue when the committed version of
a patch has a small clean up compared to the submitted version, for example.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Mercurial-devel mailing list