##// END OF EJS Templates
revset: speed up '_matchfiles'...
revset: speed up '_matchfiles' File matching is done by applying the matcher to all elements in the 'file' field of all changesets in the repository. This requires to read/parse all changesets in the repository and do a lot of matching. However about 1/3 of the time of the function is used to create 'changectx' object and retrieve their 'file' field. This is far too much overhead so we are skipping the changectx layer and directly access the data from the changelog. This provide use significant speed up: repository: mozilla central 252524 revisions command: hg perfrevset '_matchfiles("p:browser")' Before: 15.899687s After: 10.011705s Slowdown is even more significant if you have a lot of namespace that slowdown lookup. The time is now spent with this approximate repartition: Matcher: 20% regexp matching: 10% changelog.read: 80% reading revision: 60% checking hash: 15% decompression: 15% reading chunk: 30% changelog parsing: 20% decoding to local: 10% The next easy win is probably to have more of the changelog stack implemented using the CPython api.

File last commit:

r26666:e901df65 default
r27028:f92053df default
Show More
changeset.tmpl
57 lines | 2.2 KiB | application/x-cheetah | CheetahLexer
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 {header}
<title>{repo|escape}: changeset {rev}:{node|short}</title>
<link rel="alternate" type="application/atom+xml"
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <link rel="alternate" type="application/rss+xml"
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </head>
<body>
<div class="page_header">
Angel Ezquerra <angel.ezquerra at gmail.com>
hgweb: add a "URL breadcrumb" to the index and repository pages...
r18258 <a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a>
<a href="/">Mercurial</a> {pathdef%breadcrumb} / changeset
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </div>
<div class="page_nav">
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> |
av6
hgweb: don't dereference symbolic revision in gitweb style...
r25605 <a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> |
<a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> |
av6
gitweb: don't drop current revision context on graph page...
r26666 <a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a> |
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> |
<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> |
<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> |
av6
hgweb: don't dereference symbolic revision in gitweb style...
r25605 <a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a> |
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 changeset |
av6
hgweb: don't dereference symbolic revision in gitweb style...
r25605 <a href="{url|urlescape}raw-rev/{symrev}">raw</a> {archives%archiveentry} |
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <a href="{url|urlescape}help{sessionvars%urlparameter}">help</a>
Augie Fackler
web: add a help view for getting hg help output
r12666 <br/>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </div>
<div>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <a class="title" href="{url|urlescape}raw-rev/{node|short}">{desc|strip|escape|firstline|nonempty} <span class="logtags">{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span></a>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </div>
<div class="title_text">
<table cellspacing="0">
<tr><td>author</td><td>{author|obfuscate}</td></tr>
Brodie Rao
hgweb: fix dynamic date calculation not working under Safari...
r15375 <tr><td></td><td class="date age">{date|rfc822date}</td></tr>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 {branch%changesetbranch}
av6
hgweb: link to revision by node hash in gitweb & monoblue...
r25616 <tr>
<td>changeset {rev}</td>
<td style="font-family:monospace"><a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
</tr>
Anton Shestakov
hgweb: allow viewing diffs against p1 or p2 for merge commits (issue3904)...
r23740 {ifeq(count(parent), '2', parent%changesetparentdiff, parent%changesetparent)}
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 {child%changesetchild}
</table></div>
<div class="page_body">
Angel Ezquerra
hgweb: apply the websub filter to revision descriptions...
r18628 {desc|strip|escape|websub|addbreaks|nonempty}
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </div>
<div class="list_head"></div>
<div class="title_text">
<table cellspacing="0">
{files}
</table></div>
av6
gitweb: port code selection without line numbers from paper...
r26288 <div class="page_body diffblocks">{diff}</div>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
{footer}