##// END OF EJS Templates
destutil: use cached branch information instead of query for efficiency...
destutil: use cached branch information instead of query for efficiency Before this patch, calculation of "the tipmost branch head on current branch" uses revset query "max(.::(head() and branch(BRANCH)))", but this isn't efficiency, because: - head() predicate lists up heads on all branches, but - branch() predicate eliminates heads on other branches In addition to it, without "literal:" prefix for branch name, branch(BRANCH) tries to (1) look up BRANCH in "repo.branchmap()" and (2) look up BRANCH as symbol name again, if there is no branch matching against BRANCH. The latter looking up is obviously redundant. This patch uses repo.branchheads(closed=True) to get all branch heads on specified branch instead of "head() and branch(BRANCH)" revset query part. This patch also makes catching RepoLookupError meaningless, because it is only raised by revset predicate "branch()". But "currentbranch in repo.branchmap()" can detect whether currentbranch actually exists or not. Therefore, this patch replaces try/except for RepoLookupError by if/else for "currentbranch in repo.branchmap()".

File last commit:

r28212:d4419c01 default
r28236:e333cea7 default
Show More
map
174 lines | 4.4 KiB | text/plain | TextLexer
Gregory Szorc
templates: add a stub template for json...
r24544 mimetype = 'application/json'
filerevision = '"not yet implemented"'
search = '"not yet implemented"'
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
changelistentry = '\{
"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 {shortlog} and {changelog} templates...
r24588 "bookmarks": [{join(bookmarks%changelistentryname, ", ")}],
"tags": [{join(tags%changelistentryname, ", ")}],
Yuya Nishihara
templatefilters: make json filter be byte-transparent (BC) (issue4926)...
r28212 "user": {author|utf8|json}
Gregory Szorc
json: implement {shortlog} and {changelog} templates...
r24588 }'
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}
}'
Gregory Szorc
templates: add a stub template for json...
r24544 summary = '"not yet implemented"'
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, ", ")}],
"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}
}'
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}
}'
Gregory Szorc
templates: add a stub template for json...
r24544 filelog = '"not yet implemented"'
graph = '"not yet implemented"'
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 = ''