[Bug 4444] New: Add option autoresolve = trivial

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Fri Nov 7 11:12:26 CST 2014


http://bz.selenic.com/show_bug.cgi?id=4444

          Priority: normal
            Bug ID: 4444
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: Add option autoresolve = trivial
          Severity: feature
    Classification: Unclassified
                OS: Windows
          Reporter: pierrotgarcia at hotmail.com
          Hardware: PC
            Status: UNCONFIRMED
           Version: 3.1
         Component: Mercurial
           Product: Mercurial

There should be an option to distinguish between trivial merges and non-trivial
merges to make merging easier.
I consider a merge to be trivial when two of the files are binary identical
(base==parent1, base==parent2 or parent1==parent2).
The reason is that some merges may include a lot of files that are not modified
on one side, we don't necessarily want to review all these files.
Some files may have changes on both branches that to not trigger a conflict,
these are the files for which we want to review the merge.

I'll take an example 

-----------------------------------------------
Branch A:
-    File1, files2 and file3 modified
Branch B:
-    File1 modified (assuming non-conflicting change)
-    File2 modified (binary equal to file2 in branch A)

Merge tool is set to kdiff3-noauto (note that behaviour should be the same with
other merge tools as they usually dont filter trivial merges in no auto mode).

Merge with option auto-resolve merge = true:
-    all files are merged without popping the merge GUI.

Merge with option auto-resolve merge = false:
-    kdiff3 is started for all files.
-    File1 reports X solved conflicts
-    File2 reports Y solved conflict and "File B and file C are binary equal"
-    File3 reports Z solved conflict and "File A and file C are binary equal"

-----------------------------------------------
Desired behavior (using for example a third option: auto-resolve merge =
trivial)
-    kdiff3 is started for file1 only, report X solved conflicts
-    File2 and file3 are merged without starting kdiff3

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


More information about the Mercurial-devel mailing list