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

            Bug ID: 6160
           Summary: "hg merge --abort" uncleanly aborts an in-progress
                    unshelve
           Product: Mercurial
           Version: 5.0
          Hardware: PC
                OS: Linux
            Status: UNCONFIRMED
          Severity: bug
          Priority: wish
         Component: shelve
          Assignee: bugzi...@mercurial-scm.org
          Reporter: mplam...@janestreet.com
                CC: mercurial-devel@mercurial-scm.org

Created attachment 2052
  --> https://bz.mercurial-scm.org/attachment.cgi?id=2052&action=edit
A test demonstrating the bug

If an "hg unshelve" is in-progress and you run
  $ hg merge --abort
this aborts the merge portion of the in-progress unshelve, but the unshelve is
still in-progress -- many hg commands still return "abort: unshelve already in
progress".

But then, aborting the unshelve fails:
  $ hg unshelve --abort
  unshelve of 'default' aborted
  abort: working directory parents do not match unshelve state

The working directory is still at the "pending changes temporary commit"
created by the unshelve. From here, it's easy to accidentally create more
commits on top of this temporary commit.

In this situation, I would expect "hg merge --abort" to fail, directing the
user to use "hg unshelve --abort".

See the attachment for a test demonstrating this bug.

-- 
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