json: implement {fileannotate} template
authorGregory Szorc <gregory.szorc@gmail.com>
Fri, 10 Apr 2015 22:37:40 -0400
changeset 24715 1439bacf0ec7
parent 24714 84859415a4c9
child 24716 2abbf4750915
json: implement {fileannotate} template
mercurial/templates/json/map
tests/test-hgweb-json.t
--- 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