[PATCH 11 of 15] bundle2: add a 'modes' dictionary to the bundle operation

Boris Feld boris.feld at octobus.net
Wed Oct 18 16:10:03 UTC 2017


# HG changeset patch
# User Boris Feld <boris.feld at octobus.net>
# Date 1508247574 -7200
#      Tue Oct 17 15:39:34 2017 +0200
# Node ID 0f95ab616ddbcd75404ce2912c9e58177d132cc7
# Parent  a43fba2b9ab801574c4230508239cabfe4b8610c
# EXP-Topic b2.bookmarks
# Available At https://bitbucket.org/octobus/mercurial-devel/
#              hg pull https://bitbucket.org/octobus/mercurial-devel/ -r 0f95ab616ddb
bundle2: add a 'modes' dictionary to the bundle operation

This new attribute allows the codes requesting an unbundling to pass important
information to individual part handlers. The current target use case is to
allow for receiving 'bookmarks' part without directly updating local
repository, but just recording the received data instead. This is necessary
for pull where the remote bookmarks are processed locally. I expect the
concept to be beneficial to other parts in the future.

diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py
--- a/mercurial/bundle2.py
+++ b/mercurial/bundle2.py
@@ -300,6 +300,8 @@
         self.captureoutput = captureoutput
         self.hookargs = {}
         self._gettransaction = transactiongetter
+        # carries value that can modify part behavior
+        self.modes = {}
 
     def gettransaction(self):
         transaction = self._gettransaction()



More information about the Mercurial-devel mailing list