Mercurial > hg
diff mercurial/templates/json/map @ 24713:2f43f8cf8219
json: implement {filediff} template
Single letter properties are used to keep payload size down, as diff
representation can be quite large and longer property names can create a
lot of extra work for parsers.
Rename is not yet captured. This can be done in a follow-up.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Fri, 10 Apr 2015 22:39:22 -0400 |
parents | 517f3e190a5d |
children | 84859415a4c9 |
line wrap: on
line diff
--- a/mercurial/templates/json/map Fri Apr 10 22:34:12 2015 -0400 +++ b/mercurial/templates/json/map Fri Apr 10 22:39:22 2015 -0400 @@ -78,7 +78,40 @@ "status": {status|json} }' summary = '"not yet implemented"' -filediff = '"not yet implemented"' +filediff = '\{ + "path": {file|json}, + "node": {node|json}, + "date": {date|json}, + "desc": {desc|json}, + "author": {author|json}, + "parents": [{join(parent%changesetparent, ", ")}], + "children": [{join(child%changesetparent, ", ")}], + "diff": [{join(diff%diffblock, ", ")}] + }' +diffblock = '\{ + "blockno": {blockno|json}, + "lines": [{join(lines, ", ")}] + }' +difflineplus = '\{ + "t": "+", + "n": {lineno|json}, + "l": {line|json} + }' +difflineminus = '\{ + "t": "-", + "n": {lineno|json}, + "l": {line|json} + }' +difflineat = '\{ + "t": "@", + "n": {lineno|json}, + "l": {line|json} + }' +diffline = '\{ + "t": "", + "n": {lineno|json}, + "l": {line|json} + }' filecomparison = '"not yet implemented"' fileannotate = '"not yet implemented"' filelog = '"not yet implemented"'