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

            Bug ID: 6214
           Summary: inmemory rebase doesn't check for in-progress
                    operations before starting
           Product: Mercurial
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: feature
          Priority: wish
         Component: rebase
          Assignee: bugzi...@mercurial-scm.org
          Reporter: h...@pewpew.net
                CC: mercurial-devel@mercurial-scm.org
    Python Version: 2.7

With rebase.experimental.inmemory=true:

hg rebase -r A -d dest -t:merge3, get a conflict. Do *not* resolve the conflict
yet.
hg rebase -r B -d dest -t:merge3, get output like the following:
rebasing 3:5d4162104fc6 "make a file baz, unrelated to foo and all that other
shenanigans" (tip)
abort: outstanding merge conflicts
(use 'hg resolve' to resolve) error about "outstanding merge conflicts".
<resolve conflicts, mark files as resolved>
hg rebase --continue

The `rebase --continue` will take all of the file states as they are
post-resolve (i.e. the stuff you meant to rebase when rebasing "A" above), and
instead rebase "B". So B is pruned, rebased-B that's a descendant of dest
contains all of the changes from A, and B itself is gone.

If we aren't using inmemory rebase, we get a different error message:
abort: rebase in progress
(use 'hg rebase --continue' or 'hg rebase --abort')

Other possibly relevant factors:
I'm using evolve and possibly a lot of other stuff that may have had effects
here. I'll write a .t test to reproduce the issue.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to