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