Mercurial > hg
changeset 21157:60ad2ea5b106
getbundle: pass arbitrary arguments all along the call chain
The wireprotocol command accepts arbitrary arguments, we are now passing such
arguments down the call chain.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 17 Apr 2014 17:25:50 -0400 |
parents | 2bfb0598206a |
children | 8f6530b62177 |
files | mercurial/exchange.py mercurial/localrepo.py mercurial/wireproto.py |
diffstat | 3 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/exchange.py Thu Apr 17 17:59:28 2014 -0400 +++ b/mercurial/exchange.py Thu Apr 17 17:25:50 2014 -0400 @@ -661,7 +661,8 @@ pullop.repo.invalidatevolatilesets() return tr -def getbundle(repo, source, heads=None, common=None, bundlecaps=None): +def getbundle(repo, source, heads=None, common=None, bundlecaps=None, + **kwargs): """return a full bundle (with potentially multiple kind of parts) Could be a bundle HG10 or a bundle HG2X depending on bundlecaps
--- a/mercurial/localrepo.py Thu Apr 17 17:59:28 2014 -0400 +++ b/mercurial/localrepo.py Thu Apr 17 17:25:50 2014 -0400 @@ -106,9 +106,9 @@ return self._repo.known(nodes) def getbundle(self, source, heads=None, common=None, bundlecaps=None, - format='HG10'): + format='HG10', **kwargs): cg = exchange.getbundle(self._repo, source, heads=heads, - common=common, bundlecaps=bundlecaps) + common=common, bundlecaps=bundlecaps, **kwargs) if bundlecaps is not None and 'HG2X' in bundlecaps: # When requesting a bundle2, getbundle returns a stream to make the # wire level function happier. We need to build a proper object
--- a/mercurial/wireproto.py Thu Apr 17 17:59:28 2014 -0400 +++ b/mercurial/wireproto.py Thu Apr 17 17:25:50 2014 -0400 @@ -325,7 +325,8 @@ bases=bases, heads=heads) return changegroupmod.unbundle10(f, 'UN') - def getbundle(self, source, heads=None, common=None, bundlecaps=None): + def getbundle(self, source, heads=None, common=None, bundlecaps=None, + **kwargs): self.requirecap('getbundle', _('look up remote changes')) opts = {} if heads is not None: @@ -334,6 +335,7 @@ opts['common'] = encodelist(common) if bundlecaps is not None: opts['bundlecaps'] = ','.join(bundlecaps) + opts.update(kwargs) f = self._callcompressable("getbundle", **opts) if bundlecaps is not None and 'HG2X' in bundlecaps: return bundle2.unbundle20(self.ui, f)