# HG changeset patch # User Boris Feld <boris.feld@octobus.net> # Date 1509379769 -3600 # Mon Oct 30 17:09:29 2017 +0100 # Node ID 762ea8a1f5e78c53cdbecb5f108d787e082fef3a # Parent 7ee2d859f7206a1cf83b3960b627f22b4e846f03 debug: print parsed bundle2 capabilities with debugcapabilities The bundle2 capabilities are hard to read in their encoded form. We parse and print them in a human friendly way. diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py --- a/mercurial/debugcommands.py +++ b/mercurial/debugcommands.py @@ -370,6 +370,14 @@ ui.write(('Main capabilities:\n')) for c in sorted(caps): ui.write((' %s\n') % c) + b2caps = bundle2.bundle2caps(peer) + if b2caps: + ui.write(('Bundle2 capabilities:\n')) + for key, values in sorted(b2caps.iteritems()): + ui.write((' %s\n') % key) + for v in values: + ui.write((' %s\n') % v) + @command('debugcheckstate', [], '') def debugcheckstate(ui, repo): """validate the correctness of the current dirstate""" diff --git a/tests/test-debugcommands.t b/tests/test-debugcommands.t --- a/tests/test-debugcommands.t +++ b/tests/test-debugcommands.t @@ -168,3 +168,25 @@ lookup pushkey unbundle + Bundle2 capabilities: + HG20 + changegroup + 01 + 02 + digests + md5 + sha1 + sha512 + error + abort + unsupportedcontent + pushraced + pushkey + hgtagsfnodes + listkeys + phases + heads + pushkey + remote-changegroup + http + https