bundle2: add the capability to store hookargs on bundle operation object
authorPulkit Goyal <7895pulkit@gmail.com>
Wed, 02 Aug 2017 03:08:42 +0530
changeset 33664 f3407d56a6e8
parent 33619 609606d21765
child 33665 5fc4ddfbe626
bundle2: add the capability to store hookargs on bundle operation object There are extensions like pushrebase, pushvars which run hooks on a server before taking the lock. Since the lock is not taken, transaction is not there, so the hookargs can't be stored on the transaction. Adding hooksargs to bundle operation object will help in running hooks before taking the lock. This is a part of moving fb's extension bundle2hooks to core. Differential Revision: https://phab.mercurial-scm.org/D208
mercurial/bundle2.py
--- a/mercurial/bundle2.py	Thu Jul 20 01:30:41 2017 -0700
+++ b/mercurial/bundle2.py	Wed Aug 02 03:08:42 2017 +0530
@@ -299,6 +299,10 @@
         self.gettransaction = transactiongetter
         self.reply = None
         self.captureoutput = captureoutput
+        self.hookargs = {}
+
+    def addhookargs(self, hookargs):
+        self.hookargs.update(hookargs)
 
 class TransactionUnavailable(RuntimeError):
     pass