##// END OF EJS Templates
util: compression APIs to support revlog compression...
util: compression APIs to support revlog compression As part of "zstd all of the things," we need to teach revlogs to use non-zlib compression formats. Because we're routing all compression via the "compression manager" and "compression engine" APIs, we need to introduction functionality there for performing revlog operations. Ideally, revlog compression and decompression operations would be implemented in terms of simple "compress" and "decompress" primitives. However, there are a few considerations that make us want to have a specialized primitive for handling revlogs: 1) Performance. Revlogs tend to do compression and especially decompression operations in batches. Any overhead for e.g. instantiating a "context" for performing an operation can be noticed. For this reason, our "revlog compressor" primitive is reusable. For zstd, we reuse the same compression "context" for multiple operations. I've measured this to have a performance impact versus constructing new contexts for each operation. 2) Specialization. By having a primitive dedicated to revlog use, we can make revlog-specific choices and leave the door open for more functionality in the future. For example, the zstd revlog compressor may one day make use of dictionary compression. A future patch will introduce a decompress() on the compressor object. The code for the zlib compressor is basically copied from revlog.compress(). Although it doesn't handle the empty input case, the null first byte case, and the 'u' prefix case. These cases will continue to be handled in revlog.py once that code is ported to use this API.

File last commit:

r27550:1a2a3b04 default
r30794:31e1f0d4 default
Show More
bookmarks.tmpl
38 lines | 1.7 KiB | application/x-cheetah | CheetahLexer
Yuya Nishihara
hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)
r13860 {header}
<title>{repo|escape}: Bookmarks</title>
av6
monoblue: correct feed links on /branches, /tags and /bookmarks
r27550 <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-bookmarks" title="Atom feed for {repo|escape}: bookmarks"/>
<link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-bookmarks" title="RSS feed for {repo|escape}: bookmarks"/>
Yuya Nishihara
hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)
r13860 </head>
<body>
<div id="container">
<div class="page-header">
Angel Ezquerra <angel.ezquerra at gmail.com>
hgweb: add a "URL breadcrumb" to the index and repository pages...
r18258 <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / bookmarks</h1>
Yuya Nishihara
hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)
r13860
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <form action="{url|urlescape}log">
Yuya Nishihara
hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)
r13860 {sessionvars%hiddenformentry}
<dl class="search">
<dt><label>Search: </label></dt>
<dd><input type="text" name="rev" /></dd>
</dl>
</form>
<ul class="page-nav">
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li>
<li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li>
<li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li>
av6
hgweb: don't point graph links at tip hash where it doesn't make sense...
r25525 <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li>
Yuya Nishihara
hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)
r13860 <li class="current">bookmarks</li>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li>
av6
hgweb: don't point file links at tip hash where it doesn't make sense...
r25526 <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li>
Anton Shestakov
hgweb: don't mix tabs and spaces in monoblue templates
r24129 <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>
Yuya Nishihara
hgweb: add separate bookmarks listing to monoblue theme (based on 38c9837b1f75)
r13860 </ul>
</div>
<h2 class="no-link no-border">bookmarks</h2>
<table cellspacing="0">
{entries%bookmarkentry}
</table>
{footer}