[Bug 4163] New: cannot resolve merge conflicts by "hg resolve" after "backout" since Mercurial 2.9

mercurial-bugs at selenic.com mercurial-bugs at selenic.com
Sat Feb 8 02:52:57 CST 2014


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

          Priority: normal
            Bug ID: 4163
                CC: mercurial-devel at selenic.com
          Assignee: bugzilla at selenic.com
           Summary: cannot resolve merge conflicts by "hg resolve" after
                    "backout" since Mercurial 2.9
          Severity: bug
    Classification: Unclassified
                OS: All
          Reporter: yuya at tcha.org
          Hardware: All
            Status: UNCONFIRMED
           Version: 2.9
         Component: Mercurial
           Product: Mercurial

How to reproduce:

hg init
touch foo
hg add foo

for n in `seq 0 2`; do
    echo $n >> foo
    hg ci -m $n
done

hg backout 1 --tool internal:fail
hg resolve --all  # nothing happen
hg resolve -l  # still unresolved


Since 2123d27ff75d, "hg backout" uses a strategy similar to "graft", but it
drops the second parent even if there is a conflict.

          target
    (0) --- (1) --- (2) --- (+)
    mctx    actx            wctx
     (=was p2)

"hg resolve" can't handle this case.  If I understand it, "hg resolve" assumes
that "hg update" generated the conflict if dirstate has one parent.

    (0) --- (1) --- (2) --- (+)
           (actx)   mctx    wctx
             :       (=p1)
             anode was saved in merge/state

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


More information about the Mercurial-devel mailing list