# HG changeset patch # User Pierre-Yves David # Date 2014-08-25 17:17:06 # Node ID 2d16b39601b5873936f9f7fb86ff581b10bded18 # Parent 394a17de6a2d8bc7506f26c4405a2b6b941ff3fd obsmarker: move bundle2caps from the localrepo class to the bundle2 module The localrepo path was quicker, easier, more seductive. We'll soon add a function in another changeset to alter the capabilities. diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py --- a/mercurial/bundle2.py +++ b/mercurial/bundle2.py @@ -775,6 +775,12 @@ class unbundlepart(unpackermixin): self.consumed = True return data +capabilities = {'HG2X': (), + 'b2x:listkeys': (), + 'b2x:pushkey': (), + 'b2x:changegroup': (), + } + def bundle2caps(remote): """return the bundlecapabilities of a peer as dict""" raw = remote.capable('bundle2-exp') diff --git a/mercurial/exchange.py b/mercurial/exchange.py --- a/mercurial/exchange.py +++ b/mercurial/exchange.py @@ -465,7 +465,7 @@ def _pushbundle2(pushop): evolve in the future.""" bundler = bundle2.bundle20(pushop.ui, bundle2.bundle2caps(pushop.remote)) # create reply capability - capsblob = bundle2.encodecaps(pushop.repo.bundle2caps) + capsblob = bundle2.encodecaps(bundle2.capabilities) bundler.newpart('b2x:replycaps', data=capsblob) replyhandlers = [] for partgenname in b2partsgenorder: @@ -922,7 +922,7 @@ def _pullobsolete(pullop): def caps20to10(repo): """return a set with appropriate options to use bundle20 during getbundle""" caps = set(['HG2X']) - capsblob = bundle2.encodecaps(repo.bundle2caps) + capsblob = bundle2.encodecaps(bundle2.capabilities) caps.add('bundle2=' + urllib.quote(capsblob)) return caps diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -180,12 +180,6 @@ class localrepository(object): requirements = ['revlogv1'] filtername = None - bundle2caps = {'HG2X': (), - 'b2x:listkeys': (), - 'b2x:pushkey': (), - 'b2x:changegroup': (), - } - # a list of (ui, featureset) functions. # only functions defined in module of enabled extensions are invoked featuresetupfuncs = set() @@ -311,7 +305,7 @@ class localrepository(object): # required by the tests (or some brave tester) if self.ui.configbool('experimental', 'bundle2-exp', False): caps = set(caps) - capsblob = bundle2.encodecaps(self.bundle2caps) + capsblob = bundle2.encodecaps(bundle2.capabilities) caps.add('bundle2-exp=' + urllib.quote(capsblob)) return caps diff --git a/mercurial/wireproto.py b/mercurial/wireproto.py --- a/mercurial/wireproto.py +++ b/mercurial/wireproto.py @@ -609,7 +609,7 @@ def _capabilities(repo, proto): else: caps.append('streamreqs=%s' % ','.join(requiredformats)) if repo.ui.configbool('experimental', 'bundle2-exp', False): - capsblob = bundle2.encodecaps(repo.bundle2caps) + capsblob = bundle2.encodecaps(bundle2.capabilities) caps.append('bundle2-exp=' + urllib.quote(capsblob)) caps.append('unbundle=%s' % ','.join(changegroupmod.bundlepriority)) caps.append('httpheader=1024')