[Bug 6160] New: "hg merge --abort" uncleanly aborts an in-progress unshelve

mercurial-bugs at mercurial-scm.org mercurial-bugs at mercurial-scm.org
Thu Jun 20 16:55:01 UTC 2019


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: bugzilla at mercurial-scm.org
          Reporter: mplamann at janestreet.com
                CC: mercurial-devel at 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.


More information about the Mercurial-devel mailing list