Comments
Patch
@@ -746,12 +746,6 @@ def _dounshelve(ui, repo, *shelved, **op
mergefiles(ui, repo, pctx, shelvectx)
shelvedstate.clear(repo)
- # The transaction aborting will strip all the commits for us,
- # but it doesn't update the inmemory structures, so addchangegroup
- # hooks still fire and try to operate on the missing commits.
- # Clean up manually to prevent this.
- repo.unfiltered().changelog.strip(oldtiprev, tr)
-
unshelvecleanup(ui, repo, basename, opts)
_aborttransaction(repo)
@@ -78,7 +78,10 @@ specified)
shelved as default
0 files updated, 0 files merged, 5 files removed, 0 files unresolved
- $ hg unshelve
+(unshelve below confirms also that changegroup hook isn't invoked at
+failure ( = intentional for "hg unshelve") of transaction)
+
+ $ hg unshelve --config hooks.changegroup=false
unshelving change 'default'
$ hg commit -q -m 'initial commit'