##// END OF EJS Templates
revlog: make compressed size comparisons consistent...
revlog: make compressed size comparisons consistent revlog.compress() compares the compressed size to the input size and throws away the compressed data if it is larger than the input. This is the correct thing to do, as storing compressed data that is larger than the input takes up more storage space and makes reading slower. However, the comparison was implemented inconsistently. For the streaming compression mode, we threw away the result if it was greater than or equal to the input size. But for the one-shot compression, we threw away the compression only if it was greater than the input size! This patch changes the comparison for the simple case so it is consistent with the streaming case. As a few tests demonstrate, this adds 1 byte to some revlog entries. This is because of an added 'u' header on the chunk. It seems somewhat wrong to increase the revlog size here. However, IMO the cost of 1 byte in storage is insignificant compared to the performance gains of avoiding decompression. This patch should invite questions around the heuristic for throwing away compressed data. For example, I'd argue we should be more liberal about rejecting compressed data, additionally doing so where the number of bytes saved fails to reach a threshold. But we can have this discussion another time.

File last commit:

r30074:8f34e217 default
r30792:4215dc1b default
Show More
style.css
122 lines | 2.7 KiB | text/css | CssLexer
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 a { text-decoration:none; }
.age { white-space:nowrap; }
.date { white-space:nowrap; }
.indexlinks { white-space:nowrap; }
Gijs Kruitbosch
hgweb: ensure both foreground and background colors are specified (issue4872)...
r26536 .parity0 { background-color: #ddd; color: #000; }
.parity1 { background-color: #eee; color: #000; }
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 .lineno { width: 60px; color: #aaa; font-size: smaller;
text-align: right; }
.plusline { color: green; }
.minusline { color: red; }
.atline { color: purple; }
.annotate { font-size: smaller; text-align: right; padding-right: 1em; }
Denis Laxalde
hgweb: highlight data of the current revision in annotate view...
r29387 tr.thisrev a { color:#999999; text-decoration: none; }
tr.thisrev pre { color:#009900; }
Tooru Fujisawa
hgweb: avoid line wrap between revision and annotate-info (issue5398)...
r30074 td.annotate {
white-space: nowrap;
}
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 div.annotate-info {
display: none;
position: absolute;
background-color: #FFFFFF;
av6
spartan: make annotate popup use theme colors
r29628 border: 1px solid #888;
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 text-align: left;
color: #000000;
padding: 5px;
}
div.annotate-info a { color: #0000FF; }
td.annotate:hover div.annotate-info { display: inline; }
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 .buttons a {
background-color: #666;
padding: 2pt;
color: white;
Alexander Plavin
css: fixed font-family...
r19075 font-family: sans-serif;
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 font-weight: bold;
}
.navigate a {
background-color: #ccc;
padding: 2pt;
Alexander Plavin
css: fixed font-family...
r19075 font-family: sans-serif;
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 color: black;
}
.metatag {
background-color: #888;
color: white;
text-align: right;
}
/* Common */
pre { margin: 0; }
.logo {
float: right;
clear: right;
}
/* Changelog/Filelog entries */
.logEntry { width: 100%; }
.logEntry .age { width: 15%; }
FUJIWARA Katsunori
hgweb: align entries in "changelog" and "revisions" pages of "spartan" style...
r21124 .logEntry th.label { width: 16em; }
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 .logEntry th { font-weight: normal; text-align: right; vertical-align: top; }
.logEntry th.age, .logEntry th.firstline { font-weight: bold; }
.logEntry th.firstline { text-align: left; width: inherit; }
/* Shortlog entries */
.slogEntry { width: 100%; }
.slogEntry .age { width: 8em; }
.slogEntry td { font-weight: normal; text-align: left; vertical-align: top; }
.slogEntry td.author { width: 15em; }
/* Tag entries */
#tagEntries { list-style: none; margin: 0; padding: 0; }
#tagEntries .tagEntry { list-style: none; margin: 0; padding: 0; }
/* Changeset entry */
#changesetEntry { }
#changesetEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
#changesetEntry th.files, #changesetEntry th.description { vertical-align: top; }
/* File diff view */
#filediffEntry { }
#filediffEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
/* Graph */
div#wrapper {
position: relative;
margin: 0;
padding: 0;
}
canvas {
position: absolute;
z-index: 5;
top: -0.6em;
margin: 0;
}
ul#nodebgs {
list-style: none inside none;
padding: 0;
margin: 0;
top: -0.7em;
}
ul#graphnodes li, ul#nodebgs li {
height: 39px;
}
ul#graphnodes {
position: absolute;
z-index: 10;
top: -0.85em;
list-style: none inside none;
padding: 0;
}
ul#graphnodes li .info {
display: block;
font-size: 70%;
position: relative;
top: -1px;
}