mercurial/wireprotov2server.py
changeset 39812 8e7e822e85ec
parent 39811 ae20f52437e9
child 39813 c30faea8d02d
--- a/mercurial/wireprotov2server.py	Mon Sep 17 09:49:28 2018 -0700
+++ b/mercurial/wireprotov2server.py	Mon Sep 17 10:15:27 2018 -0700
@@ -436,7 +436,18 @@
     # TODO expose available changesetdata fields.
 
     for command, entry in COMMANDS.items():
-        args = {arg: meta['example'] for arg, meta in entry.args.items()}
+        args = {}
+
+        for arg, meta in entry.args.items():
+            args[arg] = {
+                # TODO should this be a normalized type using CBOR's
+                # terminology?
+                b'type': meta['type'],
+                b'required': meta['required'],
+            }
+
+            if not meta['required']:
+                args[arg][b'default'] = meta['default']()
 
         caps['commands'][command] = {
             'args': args,