[Bug 5927] New: `hg evolve` does not set p2 during conflict resolution

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Fri Jun 22 23:52:17 UTC 2018


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

            Bug ID: 5927
           Summary: `hg evolve` does not set p2 during conflict resolution
           Product: Mercurial
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: evolution
          Assignee: bugzilla at mercurial-scm.org
          Reporter: hg at pewpew.net
                CC: mercurial-devel at mercurial-scm.org,
                    pierre-yves.david at ens-lyon.org

Created attachment 2012
  --> https://bz.mercurial-scm.org/attachment.cgi?id=2012&action=edit
Test showing the issue (passes if the issue is NOT fixed)

Using evolve 8.1.0.dev (b89108d3eca0) and hg 4.6.1+3-3c84493556db:

When using `hg rebase`, I get two parents during conflict resolution:

≻ hg rebase -r 2 -d . --tool internal:fail
rebasing 2:fe5e057c0324 "hi3"
hit merge conflicts; re-running rebase without in-memory merge
rebase aborted
rebasing 2:fe5e057c0324 "hi3"
unresolved conflicts (see hg resolve, then hg rebase --continue)
≻ hg log -r 'parents(wdir())' -T'{rev}\n' 
2
3


If I abort that and try it with evolve:

≻ hg evo 
move:[2] hi3
atop:[3] hi2
merging foo
merging foo failed!
evolve failed!
fix conflict and run 'hg evolve --continue' or use 'hg evolve --abort' to abort
abort: unresolved merge conflicts (see hg help resolve)
≻ hg log -r 'parents(wdir())' -T'{rev}\n'
3


This is causing problems for IntelliJ's VCS -> Mercurial -> 'Run conflict
resolver' flow; this flow doesn't set itself up as a merge tool and use `hg
resolve` for whatever reason, it attempts to figure things out itself, and gets
it pretty wrong ;)

With `hg rebase`, it shows "Hg: Rebasing" in the status bar and gets the popup
correct (base in the middle, revision 3 on the left (local), revision 2 on the
right (server))

With `hg evolve`, it shows "Hg: Merging" in the status bar and shows base in
the middle, and revision 3 on both the left (local) and the right (server).

If I run `hg debugsetparents 3 2`, then IntelliJ gets the merge flow correct.
It still shows "Hg: Merging" in the status bar, but that's a minor issue.

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


More information about the Mercurial-devel mailing list