Mercurial > hg
changeset 43718:d155bf11cf22
hgweb: add diffs to the json changeset template
While it's possible to get the diff for each file individually via an
obscure url that I'm not even sure is documented, (e.g.
diff/{rev}/{filename}?style=json ), it is more convenient to provide
the full diff from the changeset view. This is already normally
computed for other non-JSON templates, so it seems like an oversight
to omit it for the JSON one.
The output format is a bit unwieldy but it's consistent with the
existing format output by the aforementioned obscure url.
author | Jordi Gutiérrez Hermoso <jordigh@octave.org> |
---|---|
date | Fri, 15 Nov 2019 15:58:56 -0500 |
parents | 6feaee05bac5 |
children | 71dbd6f6fcb8 |
files | mercurial/templates/json/map tests/test-hgweb-json.t |
diffstat | 2 files changed, 118 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/templates/json/map Fri Nov 15 15:56:25 2019 -0500 +++ b/mercurial/templates/json/map Fri Nov 15 15:58:56 2019 -0500 @@ -66,6 +66,7 @@ "user": {author|utf8|json}, "parents": [{join(parent%changesetparent, ", ")}], "files": [{join(files, ", ")}], + "diff": [{join(diff, ", ")}], "phase": {phase|json} }' changesetbranch = '{name|utf8|json}'
--- a/tests/test-hgweb-json.t Fri Nov 15 15:56:25 2019 -0500 +++ b/tests/test-hgweb-json.t Fri Nov 15 15:58:56 2019 -0500 @@ -782,6 +782,7 @@ 0 ], "desc": "merge test-branch into default", + "diff": [], "files": [ { "file": "foo-new", @@ -813,6 +814,58 @@ 0 ], "desc": "move foo", + "diff": [ + { + "blockno": 1, + "lines": [ + { + "l": "--- a/foo\tThu Jan 01 00:00:00 1970 +0000\n", + "n": 1, + "t": "-" + }, + { + "l": "+++ /dev/null\tThu Jan 01 00:00:00 1970 +0000\n", + "n": 2, + "t": "+" + }, + { + "l": "@@ -1,1 +0,0 @@\n", + "n": 3, + "t": "@" + }, + { + "l": "-bar\n", + "n": 4, + "t": "-" + } + ] + }, + { + "blockno": 2, + "lines": [ + { + "l": "--- /dev/null\tThu Jan 01 00:00:00 1970 +0000\n", + "n": 1, + "t": "-" + }, + { + "l": "+++ b/foo-new\tThu Jan 01 00:00:00 1970 +0000\n", + "n": 2, + "t": "+" + }, + { + "l": "@@ -0,0 +1,1 @@\n", + "n": 3, + "t": "@" + }, + { + "l": "+bar\n", + "n": 4, + "t": "+" + } + ] + } + ], "files": [ { "file": "foo", @@ -849,6 +902,38 @@ 0 ], "desc": "modify da/foo", + "diff": [ + { + "blockno": 1, + "lines": [ + { + "l": "--- a/da/foo\tThu Jan 01 00:00:00 1970 +0000\n", + "n": 1, + "t": "-" + }, + { + "l": "+++ b/da/foo\tThu Jan 01 00:00:00 1970 +0000\n", + "n": 2, + "t": "+" + }, + { + "l": "@@ -1,1 +1,1 @@\n", + "n": 3, + "t": "@" + }, + { + "l": "-foo\n", + "n": 4, + "t": "-" + }, + { + "l": "+bar\n", + "n": 5, + "t": "+" + } + ] + } + ], "files": [ { "file": "da/foo", @@ -877,6 +962,38 @@ 0 ], "desc": "create test branch", + "diff": [ + { + "blockno": 1, + "lines": [ + { + "l": "--- a/foo\tThu Jan 01 00:00:00 1970 +0000\n", + "n": 1, + "t": "-" + }, + { + "l": "+++ b/foo\tThu Jan 01 00:00:00 1970 +0000\n", + "n": 2, + "t": "+" + }, + { + "l": "@@ -1,1 +1,1 @@\n", + "n": 3, + "t": "@" + }, + { + "l": "-foo\n", + "n": 4, + "t": "-" + }, + { + "l": "+branch\n", + "n": 5, + "t": "+" + } + ] + } + ], "files": [ { "file": "foo",