Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/wireproto.py @ 37412:1d459f61b42a
wireproto: don't special case bundlecaps, but sort all scsv arguments
Differential Revision: https://phab.mercurial-scm.org/D3170
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Fri, 06 Apr 2018 22:16:11 +0200 |
parents | afcfdf53e4b5 |
children | 33af46d639b4 |
comparison
equal
deleted
inserted
replaced
37411:3e1688711efd | 37412:1d459f61b42a |
---|---|
295 | 295 |
296 def getbundle(self, source, **kwargs): | 296 def getbundle(self, source, **kwargs): |
297 kwargs = pycompat.byteskwargs(kwargs) | 297 kwargs = pycompat.byteskwargs(kwargs) |
298 self.requirecap('getbundle', _('look up remote changes')) | 298 self.requirecap('getbundle', _('look up remote changes')) |
299 opts = {} | 299 opts = {} |
300 bundlecaps = kwargs.get('bundlecaps') | 300 bundlecaps = kwargs.get('bundlecaps') or set() |
301 if bundlecaps is not None: | |
302 kwargs['bundlecaps'] = sorted(bundlecaps) | |
303 else: | |
304 bundlecaps = () # kwargs could have it to None | |
305 for key, value in kwargs.iteritems(): | 301 for key, value in kwargs.iteritems(): |
306 if value is None: | 302 if value is None: |
307 continue | 303 continue |
308 keytype = gboptsmap.get(key) | 304 keytype = gboptsmap.get(key) |
309 if keytype is None: | 305 if keytype is None: |
310 raise error.ProgrammingError( | 306 raise error.ProgrammingError( |
311 'Unexpectedly None keytype for key %s' % key) | 307 'Unexpectedly None keytype for key %s' % key) |
312 elif keytype == 'nodes': | 308 elif keytype == 'nodes': |
313 value = encodelist(value) | 309 value = encodelist(value) |
314 elif keytype in ('csv', 'scsv'): | 310 elif keytype == 'csv': |
315 value = ','.join(value) | 311 value = ','.join(value) |
312 elif keytype == 'scsv': | |
313 value = ','.join(sorted(value)) | |
316 elif keytype == 'boolean': | 314 elif keytype == 'boolean': |
317 value = '%i' % bool(value) | 315 value = '%i' % bool(value) |
318 elif keytype != 'plain': | 316 elif keytype != 'plain': |
319 raise KeyError('unknown getbundle option type %s' | 317 raise KeyError('unknown getbundle option type %s' |
320 % keytype) | 318 % keytype) |