--- a/mercurial/wireproto.py Mon May 25 17:14:11 2015 -0700
+++ b/mercurial/wireproto.py Mon Jun 01 10:28:40 2015 -0700
@@ -203,11 +203,12 @@
#
# :nodes: list of binary nodes
# :csv: list of comma-separated values
+# :scsv: list of comma-separated values return as set
# :plain: string with no transformation needed.
gboptsmap = {'heads': 'nodes',
'common': 'nodes',
'obsmarkers': 'boolean',
- 'bundlecaps': 'csv',
+ 'bundlecaps': 'scsv',
'listkeys': 'csv',
'cg': 'boolean'}
@@ -360,7 +361,7 @@
assert False, 'unexpected'
elif keytype == 'nodes':
value = encodelist(value)
- elif keytype == 'csv':
+ elif keytype in ('csv', 'scsv'):
value = ','.join(value)
elif keytype == 'boolean':
value = '%i' % bool(value)
@@ -665,6 +666,8 @@
if keytype == 'nodes':
opts[k] = decodelist(v)
elif keytype == 'csv':
+ opts[k] = list(v.split(','))
+ elif keytype == 'scsv':
opts[k] = set(v.split(','))
elif keytype == 'boolean':
opts[k] = bool(v)