mercurial/wireproto.py
changeset 29734 62e2e048d068
parent 29733 bb04f96df51c
child 29735 919a4b7f531d
equal deleted inserted replaced
29733:bb04f96df51c 29734:62e2e048d068
   189 
   189 
   190 def encodebatchcmds(req):
   190 def encodebatchcmds(req):
   191     """Return a ``cmds`` argument value for the ``batch`` command."""
   191     """Return a ``cmds`` argument value for the ``batch`` command."""
   192     cmds = []
   192     cmds = []
   193     for op, argsdict in req:
   193     for op, argsdict in req:
       
   194         # Old servers didn't properly unescape argument names. So prevent
       
   195         # the sending of argument names that may not be decoded properly by
       
   196         # servers.
       
   197         assert all(escapearg(k) == k for k in argsdict)
       
   198 
   194         args = ','.join('%s=%s' % (escapearg(k), escapearg(v))
   199         args = ','.join('%s=%s' % (escapearg(k), escapearg(v))
   195                         for k, v in argsdict.iteritems())
   200                         for k, v in argsdict.iteritems())
   196         cmds.append('%s %s' % (op, args))
   201         cmds.append('%s %s' % (op, args))
   197 
   202 
   198     return ';'.join(cmds)
   203     return ';'.join(cmds)
   618         op, args = pair.split(' ', 1)
   623         op, args = pair.split(' ', 1)
   619         vals = {}
   624         vals = {}
   620         for a in args.split(','):
   625         for a in args.split(','):
   621             if a:
   626             if a:
   622                 n, v = a.split('=')
   627                 n, v = a.split('=')
   623                 vals[n] = unescapearg(v)
   628                 vals[unescapearg(n)] = unescapearg(v)
   624         func, spec = commands[op]
   629         func, spec = commands[op]
   625         if spec:
   630         if spec:
   626             keys = spec.split()
   631             keys = spec.split()
   627             data = {}
   632             data = {}
   628             for k in keys:
   633             for k in keys: