--- a/mercurial/localrepo.py Sun Oct 08 18:50:14 2017 +0200
+++ b/mercurial/localrepo.py Sun Oct 08 17:50:46 2017 +0200
@@ -1299,6 +1299,16 @@
repo.hook('txnclose-bookmark', throw=False,
txnname=desc, **pycompat.strkwargs(args))
+ if hook.hashook(repo.ui, 'txnclose-phase'):
+ cl = repo.unfiltered().changelog
+ phasemv = sorted(tr.changes['phases'].items())
+ for rev, (old, new) in phasemv:
+ args = tr.hookargs.copy()
+ node = hex(cl.node(rev))
+ args.update(phases.preparehookargs(node, old, new))
+ repo.hook('txnclose-phase', throw=False, txnname=desc,
+ **pycompat.strkwargs(args))
+
repo.hook('txnclose', throw=False, txnname=desc,
**pycompat.strkwargs(hookargs))
reporef()._afterlock(hookfunc)