# HG changeset patch # User Yuya Nishihara # Date 2017-12-10 10:41:49 # Node ID 9144e898cad5a3c05ae6d8b10e0b81bd9a886e85 # Parent c0b6fa74e007db1ee089b2e638195ecd9c87d0dd debugformat: embed raw values in JSON and template output diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py --- a/mercurial/debugcommands.py +++ b/mercurial/debugcommands.py @@ -873,15 +873,18 @@ def debugformat(ui, repo, **opts): def makeformatname(name): return '%s:' + (' ' * (maxvariantlength - len(name))) - def formatvalue(value): - if util.safehasattr(value, 'startswith'): - return value - if value: - return 'yes' - else: - return 'no' + fm = ui.formatter('debugformat', opts) + if fm.isplain(): + def formatvalue(value): + if util.safehasattr(value, 'startswith'): + return value + if value: + return 'yes' + else: + return 'no' + else: + formatvalue = pycompat.identity - fm = ui.formatter('debugformat', opts) fm.plain('format-variant') fm.plain(' ' * (maxvariantlength - len('format-variant'))) fm.plain(' repo') diff --git a/tests/test-upgrade-repo.t b/tests/test-upgrade-repo.t --- a/tests/test-upgrade-repo.t +++ b/tests/test-upgrade-repo.t @@ -85,28 +85,28 @@ An upgrade of a repository created with $ hg debugformat -Tjson [ { - "config": "yes", - "default": "yes", + "config": true, + "default": true, "name": "fncache", - "repo": "yes" + "repo": true }, { - "config": "yes", - "default": "yes", + "config": true, + "default": true, "name": "dotencode", - "repo": "yes" + "repo": true }, { - "config": "yes", - "default": "yes", + "config": true, + "default": true, "name": "generaldelta", - "repo": "yes" + "repo": true }, { - "config": "yes", - "default": "yes", + "config": true, + "default": true, "name": "plain-cl-delta", - "repo": "yes" + "repo": true }, { "config": "zlib",