--- 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 = '\{
--- 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