[PATCH 6 of 7 V4] revbranchcache: disable the new part for narrow hg bundle
Boris Feld
boris.feld at octobus.net
Fri Mar 16 07:29:38 EDT 2018
# HG changeset patch
# User Boris Feld <boris.feld at octobus.net>
# Date 1519237601 -3600
# Wed Feb 21 19:26:41 2018 +0100
# Node ID bb1dcdcff788fbeabd761d5de67db1b8e17561c0
# Parent 6355ab0513a089c60a59f76039bea39d07f9e80c
# EXP-Topic wire-rbc
# Available At https://bitbucket.org/octobus/mercurial-devel/
# hg pull https://bitbucket.org/octobus/mercurial-devel/ -r bb1dcdcff788
revbranchcache: disable the new part for narrow hg bundle
The lack of some revisions confuses the new cache part. To simplify things, we
disable it for now.
diff --git a/hgext/narrow/narrowbundle2.py b/hgext/narrow/narrowbundle2.py
--- a/hgext/narrow/narrowbundle2.py
+++ b/hgext/narrow/narrowbundle2.py
@@ -479,6 +479,19 @@ def setup():
origcgfn(*args, **kwargs)
exchange.getbundle2partsmapping['changegroup'] = wrappedcgfn
+ # disable rev branch cache exchange when serving a narrow bundle
+ # (currently incompatible with that part)
+ origrbcfn = exchange.getbundle2partsmapping['cache:rev-branch-cache']
+ def wrappedcgfn(*args, **kwargs):
+ repo = args[1]
+ if repo.ui.has_section(_NARROWACL_SECTION):
+ return
+ elif kwargs.get(r'narrow', False):
+ return
+ else:
+ origrbcfn(*args, **kwargs)
+ exchange.getbundle2partsmapping['cache:rev-branch-cache'] = wrappedcgfn
+
# Extend changegroup receiver so client can fixup after widen requests.
origcghandler = bundle2.parthandlermapping['changegroup']
def wrappedcghandler(op, inpart):
More information about the Mercurial-devel
mailing list