##// END OF EJS Templates
revlog: optionally cache the full text when adding revisions...
revlog: optionally cache the full text when adding revisions revlog instances can cache the full text of a single revision. Typically the most recently read revision is cached. When adding a delta group via addgroup() and _addrevision(), the full text isn't always computed: sometimes only the passed in delta is sufficient for adding a new revision to the revlog. When writing the changelog from a delta group, the just-added full text revision is always read immediately after it is written because the changegroup code needs to extract the set of files from the entry. In other words, revision() is *always* being called and caching the full text of the just-added revision is guaranteed to result in a cache hit, making the cache worthwhile. This patch adds support to _addrevision() for always building and caching the full text. This option is currently only active when processing changelog entries from a changegroup. While the total number of revision() calls is the same, the location matters: buildtext() calls into revision() on the base revision when building the full text of the just-added revision. Since the previous revision's _addrevision() built the full text and the the previous revision is likely the base revision, this means that the base revision's full text is likely cached and can be used to compute the current full text from just a delta. No extra I/O required. The end result is the changelog isn't opened and read after adding every revision from a changegroup. On my 2013 MacBook Pro running OS X 10.10.5 from an SSD and Python 2.7, this patch impacted the time taken to apply ~262,000 changesets from a mozilla-central gzip bundle: before: ~43s after: ~32s ~25% reduction in changelog processing times. Not bad.

File last commit:

r25524:e0c09398 default
r26243:83629142 default
Show More
search.tmpl
68 lines | 1.9 KiB | application/x-cheetah | CheetahLexer
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 {header}
<title>{repo|escape}: searching for {query|escape}</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Steven Stallion
hgweb: support alternate logo url...
r13964 <a href="{logourl}">
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <img src="{staticurl|urlescape}{logoimg}" width=75 height=90 border=0 alt="mercurial"></a>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </div>
<ul>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">log</a></li>
<li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li>
<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li>
<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li>
av6
hgweb: put help link in paper/search.tmpl separately for consistency...
r25524 </ul>
<ul>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </ul>
</div>
<div class="main">
Angel Ezquerra <angel.ezquerra at gmail.com>
hgweb: add a "URL breadcrumb" to the index and repository pages...
r18258 <h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <h3>searching for '{query|escape}'</h3>
Alexander Plavin
paper: show current search mode name at search results
r19766 <p>
Assuming {modedesc}.
Alexander Plavin
hgweb: add link to force literal keyword search...
r19768 {if(showforcekw, '<a href="{url|urlescape}log?rev={query|urlescape}&forcekw=1">
Use {showforcekw}</a> instead.')}
{if(showunforcekw, '<a href="{url|urlescape}log?rev={query|urlescape}">
Use {showunforcekw}</a> instead.')}
Alexander Plavin
paper: show current search mode name at search results
r19766 </p>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <form class="search" action="{url|urlescape}log">
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 {sessionvars%hiddenformentry}
Alexander Plavin
hgweb: show current search query in the input field
r19396 <p><input name="rev" id="search1" type="text" size="30" value="{query|escape}"></p>
Alexander Plavin
paper: define searchhint message in map file and use it in other templates
r19795 <div id="hint">{searchhint}</div>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </form>
Dirkjan Ochtman
hgweb: add less/more links for search logs (issue1972)
r10247 <div class="navigate">
Anton Shestakov
templates: fix broken "less" & "more" links in paper style (issue4460)...
r23377 <a href="{url|urlescape}log{lessvars%urlparameter}">less</a>
<a href="{url|urlescape}log{morevars%urlparameter}">more</a>
Dirkjan Ochtman
hgweb: add less/more links for search logs (issue1972)
r10247 </div>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <table class="bigtable">
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 <thead>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <tr>
<th class="age">age</th>
<th class="author">author</th>
<th class="description">description</th>
</tr>
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 </thead>
Alexander Plavin
hgweb: make stripes in log and search with CSS
r19452 <tbody class="stripes2">
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 {entries}
Alexander Plavin
hgweb: make stripes in log and search with CSS
r19452 </tbody>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </table>
Dirkjan Ochtman
hgweb: add less/more links for search logs (issue1972)
r10247 <div class="navigate">
Anton Shestakov
templates: fix broken "less" & "more" links in paper style (issue4460)...
r23377 <a href="{url|urlescape}log{lessvars%urlparameter}">less</a>
<a href="{url|urlescape}log{morevars%urlparameter}">more</a>
Dirkjan Ochtman
hgweb: add less/more links for search logs (issue1972)
r10247 </div>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </div>
</div>
{footer}