changeset 33664:f3407d56a6e8

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
author Pulkit Goyal <7895pulkit@gmail.com>
date Wed, 02 Aug 2017 03:08:42 +0530
parents 609606d21765
children 5fc4ddfbe626
files mercurial/bundle2.py
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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