--- a/hgtemplates/json/map
+++ b/hgtemplates/json/map
@@ -31,50 +31,51 @@ filerevision = '"not yet implemented"'
search = '"not yet implemented"'
# changelog and shortlog are the same web API but with different
# number of entries.
changelog = changelist.tmpl
shortlog = changelist.tmpl
changelistentry = '\{
"node": {node|json},
"date": {date|json},
- "desc": {desc|json},
+ "desc": {desc|utf8|json},
"bookmarks": [{join(bookmarks%changelistentryname, ", ")}],
"tags": [{join(tags%changelistentryname, ", ")}],
- "user": {author|json}
+ "user": {author|utf8|json},
+ "parents": [{join(allparents%changesetparent, ", ")}]
}'
-changelistentryname = '{name|json}'
+changelistentryname = '{name|utf8|json}'
changeset = '\{
"node": {node|json},
"date": {date|json},
- "desc": {desc|json},
+ "desc": {desc|utf8|json},
"backedoutby": {if(backedoutbynode, backedoutbynode|json, ""|json)},
"branch": {if(branch, branch%changesetbranch, "default"|json)},
"bookmarks": [{join(changesetbookmark, ", ")}],
"tags": [{join(changesettag, ", ")}],
- "user": {author|json},
+ "user": {author|utf8|json},
"parents": [{join(parent%changesetparent, ", ")}],
"phase": {phase|json},
"pushid": {pushid|json},
"pushdate": {pushdate|json},
"pushuser": {pushuser|json}
}'
-changesetbranch = '{name|json}'
-changesetbookmark = '{bookmark|json}'
-changesettag = '{tag|json}'
+changesetbranch = '{name|utf8|json}'
+changesetbookmark = '{bookmark|utf8|json}'
+changesettag = '{tag|utf8|json}'
changesetparent = '{node|json}'
manifest = '\{
"node": {node|json},
"abspath": {path|json},
"directories": [{join(dentries%direntry, ", ")}],
"files": [{join(fentries%fileentry, ", ")}],
"bookmarks": [{join(bookmarks%name, ", ")}],
"tags": [{join(tags%name, ", ")}]
}'
-name = '{name|json}'
+name = '{name|utf8|json}'
direntry = '\{
"abspath": {path|json},
"basename": {basename|json},
"emptydirs": {emptydirs|json}
}'
fileentry = '\{
"abspath": {file|json},
"basename": {basename|json},
@@ -82,45 +83,45 @@ fileentry = '\{
"size": {size|json},
"flags": {permissions|json}
}'
tags = '\{
"node": {node|json},
"tags": [{join(entriesnotip%tagentry, ", ")}]
}'
tagentry = '\{
- "tag": {tag|json},
+ "tag": {tag|utf8|json},
"node": {node|json},
"date": {date|json}
}'
bookmarks = '\{
"node": {node|json},
"bookmarks": [{join(entries%bookmarkentry, ", ")}]
}'
bookmarkentry = '\{
- "bookmark": {bookmark|json},
+ "bookmark": {bookmark|utf8|json},
"node": {node|json},
"date": {date|json}
}'
branches = '\{
"branches": [{join(entries%branchentry, ", ")}]
}'
branchentry = '\{
- "branch": {branch|json},
+ "branch": {branch|utf8|json},
"node": {node|json},
"date": {date|json},
"status": {status|json}
}'
summary = '"not yet implemented"'
filediff = '\{
"path": {file|json},
"node": {node|json},
"date": {date|json},
- "desc": {desc|json},
- "author": {author|json},
+ "desc": {desc|utf8|json},
+ "author": {author|utf8|json},
"parents": [{join(parent%changesetparent, ", ")}],
"children": [{join(child%changesetparent, ", ")}],
"diff": [{join(diff%diffblock, ", ")}]
}'
diffblock = '\{
"blockno": {blockno|json},
"lines": [{join(lines, ", ")}]
}'
@@ -143,18 +144,18 @@ diffline = '\{
"t": "",
"n": {lineno|json},
"l": {line|json}
}'
filecomparison = '\{
"path": {file|json},
"node": {node|json},
"date": {date|json},
- "desc": {desc|json},
- "author": {author|json},
+ "desc": {desc|utf8|json},
+ "author": {author|utf8|json},
"parents": [{join(parent%changesetparent, ", ")}],
"children": [{join(child%changesetparent, ", ")}],
"leftnode": {leftnode|json},
"rightnode": {rightnode|json},
"comparison": [{join(comparison, ", ")}]
}'
comparisonblock = '\{
"lines": [{join(lines, ", ")}]
@@ -164,28 +165,28 @@ comparisonline = '\{
"ln": {leftlineno|json},
"ll": {leftline|json},
"rn": {rightlineno|json},
"rl": {rightline|json}
}'
fileannotate = '\{
"abspath": {file|json},
"node": {node|json},
- "author": {author|json},
+ "author": {author|utf8|json},
"date": {date|json},
- "desc": {desc|json},
+ "desc": {desc|utf8|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},
+ "author": {author|utf8|json},
+ "desc": {desc|utf8|json},
"abspath": {file|json},
"targetline": {targetline|json},
"line": {line|json},
"lineno": {lineno|json},
"revdate": {revdate|json}
}'
filelogentry = '\{
"node": {node|json},
@@ -201,17 +202,26 @@ filelog = '\{
}'
graph = '"not yet implemented"'
helptopics = '\{
"topics": [{join(topics%helptopicentry, ", ")}],
"earlycommands": [{join(earlycommands%helptopicentry, ", ")}],
"othercommands": [{join(othercommands%helptopicentry, ", ")}]
}'
helptopicentry = '\{
- "topic": {topic|json},
- "summary": {summary|json}
+ "topic": {topic|utf8|json},
+ "summary": {summary|utf8|json}
}'
help = '\{
- "topic": {topic|json},
- "rawdoc": {doc|json}
+ "topic": {topic|utf8|json},
+ "rawdoc": {doc|utf8|json}
}'
filenodelink = ''
filenolink = ''
+index = '\{
+ "entries": [{join(entries%indexentry, ", ")}]
+ }'
+indexentry = '\{
+ "name": {name|utf8|json},
+ "description": {description|utf8|json},
+ "contact": {contact|utf8|json},
+ "lastchange": {lastchange|json}
+ }'
\ No newline at end of file