diff -r 21a75b63c10e -r b573d7ca31c4 hgext/shelve.py --- a/hgext/shelve.py Thu Nov 10 03:20:28 2016 -0800 +++ b/hgext/shelve.py Thu Nov 10 03:15:41 2016 -0800 @@ -342,6 +342,9 @@ extra['shelve_unknown'] = '\0'.join(s.unknown) repo[None].add(s.unknown) +def _finishshelve(repo): + _aborttransaction(repo) + def _docreatecmd(ui, repo, pats, opts): wctx = repo[None] parents = wctx.parents() @@ -399,7 +402,7 @@ if origbranch != repo['.'].branch() and not _isbareshelve(pats, opts): repo.dirstate.setbranch(origbranch) - _aborttransaction(repo) + _finishshelve(repo) finally: lockmod.release(tr, lock)