1241 args = tr.hookargs.copy() |
1241 args = tr.hookargs.copy() |
1242 args.update(bookmarks.preparehookargs(name, old, new)) |
1242 args.update(bookmarks.preparehookargs(name, old, new)) |
1243 repo.hook('pretxnclose-bookmark', throw=True, |
1243 repo.hook('pretxnclose-bookmark', throw=True, |
1244 txnname=desc, |
1244 txnname=desc, |
1245 **pycompat.strkwargs(args)) |
1245 **pycompat.strkwargs(args)) |
|
1246 if hook.hashook(repo.ui, 'pretxnclose-phase'): |
|
1247 cl = repo.unfiltered().changelog |
|
1248 for rev, (old, new) in tr.changes['phases'].items(): |
|
1249 args = tr.hookargs.copy() |
|
1250 node = hex(cl.node(rev)) |
|
1251 args.update(phases.preparehookargs(node, old, new)) |
|
1252 repo.hook('pretxnclose-phase', throw=True, txnname=desc, |
|
1253 **pycompat.strkwargs(args)) |
1246 |
1254 |
1247 repo.hook('pretxnclose', throw=True, |
1255 repo.hook('pretxnclose', throw=True, |
1248 txnname=desc, **pycompat.strkwargs(tr.hookargs)) |
1256 txnname=desc, **pycompat.strkwargs(tr.hookargs)) |
1249 def releasefn(tr, success): |
1257 def releasefn(tr, success): |
1250 repo = reporef() |
1258 repo = reporef() |