diff -r 9c4e04fe267e -r 3458c15ab2f0 mercurial/sshserver.py --- a/mercurial/sshserver.py Tue Mar 22 07:38:32 2011 +0100 +++ b/mercurial/sshserver.py Tue Mar 22 07:38:32 2011 +0100 @@ -30,17 +30,18 @@ for n in xrange(len(keys)): argline = self.fin.readline()[:-1] arg, l = argline.split() - val = self.fin.read(int(l)) if arg not in keys: raise util.Abort("unexpected parameter %r" % arg) if arg == '*': star = {} - for n in xrange(int(l)): + for k in xrange(int(l)): + argline = self.fin.readline()[:-1] arg, l = argline.split() val = self.fin.read(int(l)) star[arg] = val data['*'] = star else: + val = self.fin.read(int(l)) data[arg] = val return [data[k] for k in keys]