transaction: add a `hasfinalize` method
The method allow code to check if an existing callback exists. It allow them to
skip potentially expensive setup for a callback.
Differential Revision: https://phab.mercurial-scm.org/D7832
--- a/mercurial/transaction.py Sat Jan 11 04:57:29 2020 +0100
+++ b/mercurial/transaction.py Sat Jan 11 05:44:58 2020 +0100
@@ -456,6 +456,12 @@
return self._anypending
@active
+ def hasfinalize(self, category):
+ """check is a callback already exist for a category
+ """
+ return category in self._finalizecallback
+
+ @active
def addfinalize(self, category, callback):
"""add a callback to be called when the transaction is closed