##// END OF EJS Templates
wireprotov2: update stream encoding specification...
wireprotov2: update stream encoding specification The encoding of data within streams in the frame-based protocol is not yet defined or implemented. This means that all data in wire protocol version 2 is currently being sent out raw, without compression. That's obviously not ideal. This commit formalizes the beginnings of stream encoding support in the protocol. I suspect we'll change behavior substantially in the future. My goal is to get something landed so we can use compression. We can build out more robust support later. Because the frame type ID changed, this is strictly BC. But existing code wasn't using the frame. I'll bump the framing protocol version later once code is introduced to use the new frame. Differential Revision: https://phab.mercurial-scm.org/D4915

File last commit:

r39505:1a786fe0 default
r40161:e2fe1074 default
Show More
map
246 lines | 6.5 KiB | text/plain | TextLexer
Yuya Nishihara
hgweb: show shortlog by default in json output (issue5978)
r39504 default = 'shortlog'
Gregory Szorc
templates: add a stub template for json...
r24544 mimetype = 'application/json'
Yuya Nishihara
hgweb: show shortlog by default in json output (issue5978)
r39504
Laura Médioni
templates: add support for filerevision webcommand in json style
r29381 filerevision = '\{
"node": {node|json},
"path": {file|json},
"date": {date|json},
"desc": {desc|utf8|json},
"branch": {if(branch, branch%changesetbranch, "default"|json)},
"bookmarks": [{join(bookmarks%changelistentryname, ", ")}],
"tags": [{join(tags%changelistentryname, ", ")}],
"user": {author|utf8|json},
"parents": [{join(parent%changesetparent, ", ")}],
"phase": {phase|json},
"lines": [{join(text%lineentry, ", ")}]
}'
lineentry = '\{
"line": {line|json}
}'
Laura Médioni
templates: add support for search webcommand in json style
r29383 search = '\{
"node": {node|json},
"query": {query|json},
Yuya Nishihara
hgweb: fix search {entries} to not return results of template expansion...
r37418 "entries": [{join(entries%changelistentry, ", ")}]
Laura Médioni
templates: add support for search webcommand in json style
r29383 }'
Gregory Szorc
json: implement {shortlog} and {changelog} templates...
r24588 # changelog and shortlog are the same web API but with different
# number of entries.
changelog = changelist.tmpl
shortlog = changelist.tmpl
av6
hgweb: implement json-graph...
r35390 graph = graph.tmpl
Gregory Szorc
json: implement {shortlog} and {changelog} templates...
r24588 changelistentry = '\{
"node": {node|json},
"date": {date|json},
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "desc": {desc|utf8|json},
Laura Médioni
templates: add support for filelog webcommand in json style...
r29380 "branch": {if(branch, branch%changesetbranch, "default"|json)},
Gregory Szorc
json: implement {shortlog} and {changelog} templates...
r24588 "bookmarks": [{join(bookmarks%changelistentryname, ", ")}],
"tags": [{join(tags%changelistentryname, ", ")}],
av6
hgweb: add parents to json-log (issue5074)...
r28709 "user": {author|utf8|json},
Laura Médioni
templates: add support for filelog webcommand in json style...
r29380 "phase": {phase|json},
"parents": [{if(allparents, join(allparents%changesetparent, ", "),
join(parent%changesetparent, ", "))}]
Gregory Szorc
json: implement {shortlog} and {changelog} templates...
r24588 }'
av6
hgweb: implement json-graph...
r35390 graphentry = '\{
"node": {node|json},
"date": {date|json},
"desc": {desc|utf8|json},
"branch": {if(branch, branch%changesetbranch, "default"|json)},
"bookmarks": [{join(bookmarks%changelistentryname, ", ")}],
"tags": [{join(tags%changelistentryname, ", ")}],
"user": {author|utf8|json},
"phase": {phase|json},
"col": {col|json},
"row": {row|json},
"color": {color|json},
"edges": {edges|json},
"parents": [{if(allparents, join(allparents%changesetparent, ", "),
join(parent%changesetparent, ", "))}]
}'
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 changelistentryname = '{name|utf8|json}'
Gregory Szorc
json: implement {changeset} template...
r24563 changeset = '\{
"node": {node|json},
"date": {date|json},
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "desc": {desc|utf8|json},
Gregory Szorc
json: implement {changeset} template...
r24563 "branch": {if(branch, branch%changesetbranch, "default"|json)},
"bookmarks": [{join(changesetbookmark, ", ")}],
"tags": [{join(changesettag, ", ")}],
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "user": {author|utf8|json},
Gregory Szorc
hgweb: add phase to {changeset} template...
r24564 "parents": [{join(parent%changesetparent, ", ")}],
"phase": {phase|json}
Gregory Szorc
json: implement {changeset} template...
r24563 }'
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 changesetbranch = '{name|utf8|json}'
changesetbookmark = '{bookmark|utf8|json}'
changesettag = '{tag|utf8|json}'
Gregory Szorc
json: implement {changeset} template...
r24563 changesetparent = '{node|json}'
Gregory Szorc
json: implement {manifest} template...
r24589 manifest = '\{
"node": {node|json},
"abspath": {path|json},
"directories": [{join(dentries%direntry, ", ")}],
"files": [{join(fentries%fileentry, ", ")}],
"bookmarks": [{join(bookmarks%name, ", ")}],
"tags": [{join(tags%name, ", ")}]
}'
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 name = '{name|utf8|json}'
Gregory Szorc
json: implement {manifest} template...
r24589 direntry = '\{
"abspath": {path|json},
"basename": {basename|json},
"emptydirs": {emptydirs|json}
}'
fileentry = '\{
"abspath": {file|json},
"basename": {basename|json},
"date": {date|json},
"size": {size|json},
"flags": {permissions|json}
}'
Gregory Szorc
json: implement {tags} template...
r24545 tags = '\{
"node": {node|json},
"tags": [{join(entriesnotip%tagentry, ", ")}]
}'
tagentry = '\{
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "tag": {tag|utf8|json},
Gregory Szorc
json: implement {tags} template...
r24545 "node": {node|json},
"date": {date|json}
}'
Gregory Szorc
json: implement {bookmarks} template
r24546 bookmarks = '\{
"node": {node|json},
"bookmarks": [{join(entries%bookmarkentry, ", ")}]
}'
bookmarkentry = '\{
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "bookmark": {bookmark|utf8|json},
Gregory Szorc
json: implement {bookmarks} template
r24546 "node": {node|json},
"date": {date|json}
}'
Gregory Szorc
json: implement {branches} template
r24547 branches = '\{
"branches": [{join(entries%branchentry, ", ")}]
}'
branchentry = '\{
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "branch": {branch|utf8|json},
Gregory Szorc
json: implement {branches} template
r24547 "node": {node|json},
"date": {date|json},
"status": {status|json}
}'
Laura Médioni
templates: add support for summary webcommand in json style...
r29382 shortlogentry = '{changelistentry}'
summary = '\{
"node": {node|json},
"lastchange": {lastchange|json},
"bookmarks": [{join(bookmarks%bookmarkentry, ", ")}],
"branches": [{join(branches%branchentry, ", ")}],
"shortlog": [{join(shortlog%shortlogentry, ", ")}],
"tags": [{join(tags%tagentry, ", ")}],
Gregory Szorc
hgweb: expose list of per-repo labels to templates...
r29471 "archives": [{join(archives%archiveentry, ", ")}],
"labels": {labels|json}
Laura Médioni
templates: add support for summary webcommand in json style...
r29382 }'
archiveentry = '\{
"node": {node|json},
"extension": {extension|json},
av6
hgweb: add absolute urls for archives in json-summary
r29458 "type": {type|json},
"url": {"{urlbase}{url}archive/{node}{extension}"|json}
Laura Médioni
templates: add support for summary webcommand in json style...
r29382 }'
Gregory Szorc
json: implement {filediff} template...
r24713 filediff = '\{
"path": {file|json},
"node": {node|json},
"date": {date|json},
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "desc": {desc|utf8|json},
"author": {author|utf8|json},
Gregory Szorc
json: implement {filediff} template...
r24713 "parents": [{join(parent%changesetparent, ", ")}],
"children": [{join(child%changesetparent, ", ")}],
Yuya Nishihara
hgweb: fix {diff} expansion in JSON template...
r37420 "diff": [{join(diff, ", ")}]
Gregory Szorc
json: implement {filediff} template...
r24713 }'
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}
}'
Gregory Szorc
json: implement {comparison} template...
r24714 filecomparison = '\{
"path": {file|json},
"node": {node|json},
"date": {date|json},
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "desc": {desc|utf8|json},
"author": {author|utf8|json},
Gregory Szorc
json: implement {comparison} template...
r24714 "parents": [{join(parent%changesetparent, ", ")}],
"children": [{join(child%changesetparent, ", ")}],
"leftnode": {leftnode|json},
"rightnode": {rightnode|json},
"comparison": [{join(comparison, ", ")}]
}'
comparisonblock = '\{
"lines": [{join(lines, ", ")}]
}'
comparisonline = '\{
"t": {type|json},
"ln": {leftlineno|json},
"ll": {leftline|json},
"rn": {rightlineno|json},
"rl": {rightline|json}
}'
Gregory Szorc
json: implement {fileannotate} template
r24715 fileannotate = '\{
"abspath": {file|json},
"node": {node|json},
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "author": {author|utf8|json},
Gregory Szorc
json: implement {fileannotate} template
r24715 "date": {date|json},
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "desc": {desc|utf8|json},
Gregory Szorc
json: implement {fileannotate} template
r24715 "parents": [{join(parent%changesetparent, ", ")}],
"children": [{join(child%changesetparent, ", ")}],
"permissions": {permissions|json},
"annotate": [{join(annotate%fileannotation, ", ")}]
}'
fileannotation = '\{
"node": {node|json},
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "author": {author|utf8|json},
"desc": {desc|utf8|json},
Gregory Szorc
json: implement {fileannotate} template
r24715 "abspath": {file|json},
"targetline": {targetline|json},
"line": {line|json},
"lineno": {lineno|json},
"revdate": {revdate|json}
}'
Laura Médioni
templates: add support for filelog webcommand in json style...
r29380 filelog = '\{
"entries": [{join(entries%changelistentry, ", ")}]
}'
Gregory Szorc
json: implement {helptopics} template
r24590 helptopics = '\{
"topics": [{join(topics%helptopicentry, ", ")}],
"earlycommands": [{join(earlycommands%helptopicentry, ", ")}],
"othercommands": [{join(othercommands%helptopicentry, ", ")}]
}'
helptopicentry = '\{
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "topic": {topic|utf8|json},
"summary": {summary|utf8|json}
Gregory Szorc
json: implement {helptopics} template
r24590 }'
Gregory Szorc
json: implement {help} template...
r24591 help = '\{
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "topic": {topic|utf8|json},
"rawdoc": {doc|utf8|json}
Gregory Szorc
json: implement {help} template...
r24591 }'
Gregory Szorc
templates: add a stub template for json...
r24544 filenodelink = ''
filenolink = ''
av6
hgweb: add index template to json/map...
r28268 index = '\{
"entries": [{join(entries%indexentry, ", ")}]
}'
indexentry = '\{
"name": {name|utf8|json},
"description": {description|utf8|json},
"contact": {contact|utf8|json},
Gregory Szorc
hgweb: expose list of per-repo labels to templates...
r29471 "lastchange": {lastchange|json},
"labels": {labels|json}
av6
hgweb: add index template to json/map...
r28268 }'
Yuya Nishihara
hgweb: add error template to json so it won't crash
r39505 error = '\{
"error": {error|utf8|json}
}'