# HG changeset patch # User Gregory Szorc # Date 1428719860 14400 # Node ID 1439bacf0ec78ae4c8a80cedca9c6a7cc8e24df1 # Parent 84859415a4c9918344887f1593702dcecbcbabd9 json: implement {fileannotate} template diff -r 84859415a4c9 -r 1439bacf0ec7 mercurial/templates/json/map --- a/mercurial/templates/json/map Fri Apr 10 22:26:53 2015 -0400 +++ b/mercurial/templates/json/map Fri Apr 10 22:37:40 2015 -0400 @@ -134,7 +134,27 @@ "rn": {rightlineno|json}, "rl": {rightline|json} }' -fileannotate = '"not yet implemented"' +fileannotate = '\{ + "abspath": {file|json}, + "node": {node|json}, + "author": {author|json}, + "date": {date|json}, + "desc": {desc|json}, + "parents": [{join(parent%changesetparent, ", ")}], + "children": [{join(child%changesetparent, ", ")}], + "permissions": {permissions|json}, + "annotate": [{join(annotate%fileannotation, ", ")}] + }' +fileannotation = '\{ + "node": {node|json}, + "author": {author|json}, + "desc": {desc|json}, + "abspath": {file|json}, + "targetline": {targetline|json}, + "line": {line|json}, + "lineno": {lineno|json}, + "revdate": {revdate|json} + }' filelog = '"not yet implemented"' graph = '"not yet implemented"' helptopics = '\{ diff -r 84859415a4c9 -r 1439bacf0ec7 tests/test-hgweb-json.t --- a/tests/test-hgweb-json.t Fri Apr 10 22:26:53 2015 -0400 +++ b/tests/test-hgweb-json.t Fri Apr 10 22:37:40 2015 -0400 @@ -765,7 +765,36 @@ $ request json-annotate/f8bbb9024b10/foo 200 Script output follows - "not yet implemented" + { + "abspath": "foo", + "annotate": [ + { + "abspath": "foo", + "author": "test", + "desc": "modify foo", + "line": "bar\n", + "lineno": 1, + "node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", + "revdate": [ + 0.0, + 0 + ], + "targetline": 1 + } + ], + "author": "test", + "children": [], + "date": [ + 0.0, + 0 + ], + "desc": "modify foo", + "node": "f8bbb9024b10f93cdbb8d940337398291d40dea8", + "parents": [ + "06e557f3edf66faa1ccaba5dd8c203c21cc79f1e" + ], + "permissions": "" + } filelog/{revision}/{path} shows history of a single file