diff -r 2156934b7917 -r 0f41f1e3c75c mercurial/parser.py --- a/mercurial/parser.py Mon Apr 03 22:07:09 2017 +0900 +++ b/mercurial/parser.py Sun Apr 09 11:58:27 2017 +0900 @@ -154,7 +154,7 @@ "arguments") % {'func': funcname, 'nargs': len(poskeys) + len(keys)}) - args = {} + args = util.sortdict() # consume positional arguments for k, x in zip(poskeys, trees[:kwstart]): args[k] = x @@ -165,7 +165,7 @@ args[k] = x # remainder should be keyword arguments if optkey: - args[optkey] = {} + args[optkey] = util.sortdict() for x in trees[kwstart:]: if x[0] != keyvaluenode or x[1][0] != keynode: raise error.ParseError(_("%(func)s got an invalid argument")