Mercurial > hg
changeset 24603:e74f819e9160
jsonchangeset: set manifest node to "null" for workingctx
Unlike changeset_printer, it does not hide the manifest field because JSON
output will be parsed by machine where explicit "null" will be more useful
than nothing.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 14 Mar 2015 20:16:35 +0900 |
parents | 201caa10536b |
children | ce8dd4fd2d5d |
files | mercurial/cmdutil.py tests/test-log.t |
diffstat | 2 files changed, 26 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Sat Mar 14 20:15:40 2015 +0900 +++ b/mercurial/cmdutil.py Sat Mar 14 20:16:35 2015 +0900 @@ -1296,7 +1296,11 @@ ", ".join('"%s"' % c.hex() for c in ctx.parents())) if self.ui.debugflag: - self.ui.write(',\n "manifest": "%s"' % hex(ctx.manifestnode())) + if rev is None: + jmanifestnode = 'null' + else: + jmanifestnode = '"%s"' % hex(ctx.manifestnode()) + self.ui.write(',\n "manifest": %s' % jmanifestnode) self.ui.write(',\n "extra": {%s}' % ", ".join('"%s": "%s"' % (j(k), j(v))
--- a/tests/test-log.t Sat Mar 14 20:15:40 2015 +0900 +++ b/tests/test-log.t Sat Mar 14 20:16:35 2015 +0900 @@ -1666,6 +1666,27 @@ } ] + $ hg log -r 'wdir()' -Tjson --debug + [ + { + "rev": null, + "node": null, + "branch": "default", + "phase": "draft", + "user": "test", + "date": [*, 0], (glob) + "desc": "", + "bookmarks": [], + "tags": ["tip"], + "parents": ["65624cd9070a035fa7191a54f2b8af39f16b0c08"], + "manifest": null, + "extra": {"branch": "default"}, + "modified": [], + "added": [], + "removed": [] + } + ] + Check that adding an arbitrary name shows up in log automatically $ cat > ../names.py <<EOF