##// END OF EJS Templates
changelog: optionally store added and removed files in changeset extras...
changelog: optionally store added and removed files in changeset extras As mentioned in an earlier patch, copies._chain() is used a lot in the changeset-centric version of pathcopies(). It is expensive because it needs to look at the manifest in order to filter out copies whose target file has since been removed. I want to store the sets of added and removed files in the changeset in order to speed that up. This patch does the writing part of that. It could easily be a separate config, but it's currently tied to experimental.copies.write-to since that's the only real use case (it will also make the {file_*} template keywords faster, but I doubt that anyone cares enough about those to write extra metadata for them). The new information is stored in the changeset extras. Since they're always subsets of the changeset's "files" list, they're stored as indexes into that list. I've stored the indexes as stringified ints separated by NUL bytes. The size of 00changelog.d for the hg repo increased in size by 0.28% percent (compared to the size with only copy information in the changesets, which in turn is 0.17% larger than without copy information). We could store only the delta between the indexes and we could store them in binary, but the chosen format is more readable. We could also have implemented this as a cache outside the changelog. One advantage of doing it that way is that we would get the speedups from the {file_*} template keywords also on old repos. Another advantage is that it we can rewrite the cache if we find a bug in how we calculate the set of files. A disadvantage is that it would be more complex. Another is that it would surely use more space. We already write the copy information to the changeset extras, so it seems like a small step to also write these file sets. Differential Revision: https://phab.mercurial-scm.org/D6416

File last commit:

r38500:a8872a82 default
r42598:f385ba70 default
Show More
style-gitweb.css
389 lines | 8.9 KiB | text/css | CssLexer
Gijs Kruitbosch
hgweb: ensure both foreground and background colors are specified (issue4872)...
r26536 body { font-family: sans-serif; font-size: 12px; border:solid #d9d8d1; border-width:1px; margin:10px; background: white; color: black; }
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 a { color:#0000cc; }
a:hover, a:visited, a:active { color:#880000; }
div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
div.page_header a:visited { color:#0000cc; }
div.page_header a:hover { color:#880000; }
Gregory Szorc
hgweb: refresh styling of gitweb's search form...
r32762 div.page_nav {
padding:8px;
display: flex;
justify-content: space-between;
align-items: center;
}
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 div.page_nav a:visited { color:#0000cc; }
Gregory Szorc
hgweb: use separate CSS class for navigation links in footer...
r32990 div.extra_nav {
padding: 8px;
}
div.extra_nav a:visited {
color: #0000cc;
}
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
div.page_footer { padding:4px 8px; background-color: #d9d8d1; }
div.page_footer_text { float:left; color:#555555; font-style:italic; }
div.page_body { padding:8px; }
div.title, a.title {
display:block; padding:6px 8px;
font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
}
a.title:hover { background-color: #d9d8d1; }
div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
div.log_body { padding:8px 8px 8px 150px; }
.age { white-space:nowrap; }
av6
gitweb: make span.age CSS selector more specific...
r36250 a.title span.age { position:relative; float:left; width:142px; font-style:italic; }
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 div.log_link {
padding:0px 8px;
font-size:10px; font-family:sans-serif; font-style:normal;
position:relative; float:left; width:136px;
}
div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
a.list { text-decoration:none; color:#000000; }
a.list:hover { text-decoration:underline; color:#880000; }
table { padding:8px 4px; }
th { padding:2px 5px; font-size:12px; text-align:left; }
av6
gitweb: make different blocks of annotated lines have different colors
r29573 .parity0 { background-color:#ffffff; }
av6
gitweb: visually highlight source lines when hovering over line numbers...
r26670 tr.dark, .parity1, pre.sourcelines.stripes > :nth-child(4n+4) { background-color:#f6f6f0; }
tr.light:hover, .parity0:hover, tr.dark:hover, .parity1:hover,
pre.sourcelines.stripes > :nth-child(4n+2):hover,
pre.sourcelines.stripes > :nth-child(4n+4):hover,
pre.sourcelines.stripes > :nth-child(4n+1):hover + :nth-child(4n+2),
pre.sourcelines.stripes > :nth-child(4n+3):hover + :nth-child(4n+4) { background-color:#edece6; }
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 td { padding:2px 5px; font-size:12px; vertical-align:top; }
Ryan Phillips
hgweb: be consistent with the background highlighting on closed branches (Issue2386)...
r12353 td.closed { background-color: #99f; }
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
td.indexlinks { white-space: nowrap; }
td.indexlinks a {
padding: 2px 5px; line-height: 10px;
border: 1px solid;
color: #ffffff; background-color: #7777bb;
border-color: #aaaadd #333366 #333366 #aaaadd;
font-weight: bold; text-align: center; text-decoration: none;
font-size: 10px;
}
td.indexlinks a:hover { background-color: #6666aa; }
div.pre { font-family:monospace; font-size:12px; white-space:pre; }
Gregory Szorc
hgweb: refresh styling of gitweb's search form...
r32762
.search {
margin-right: 8px;
}
div#hint {
position: absolute;
display: none;
width: 250px;
padding: 5px;
background: #ffc;
border: 1px solid yellow;
border-radius: 5px;
av6
hgweb: add z-index for search field tooltip...
r38500 z-index: 15;
Gregory Szorc
hgweb: refresh styling of gitweb's search form...
r32762 }
#searchform:hover div#hint { display: block; }
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 {
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 z-index: 5;
Denis Laxalde
hgweb: add link to parents of annotated revision in annotate view...
r29522 display: none;
position: absolute;
background-color: #FFFFFF;
av6
gitweb: make annotate popup use theme colors
r29626 border: 1px solid #d9d8d1;
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; text-decoration: underline; }
td.annotate:hover div.annotate-info { display: inline; }
Gregory Szorc
hgweb: add HTML elements to control whitespace settings for annotate...
r34392
#diffopts-form {
padding-left: 8px;
display: none;
}
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 .linenr { color:#999999; text-decoration:none }
div.rss_logo { float: right; white-space: nowrap; }
div.rss_logo a {
padding:3px 6px; line-height:10px;
border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
color:#ffffff; background-color:#ff6600;
font-weight:bold; font-family:sans-serif; font-size:10px;
text-align:center; text-decoration:none;
}
div.rss_logo a:hover { background-color:#ee5500; }
pre { margin: 0; }
span.logtags span {
padding: 0px 4px;
font-size: 10px;
font-weight: normal;
border: 1px solid;
background-color: #ffaaff;
border-color: #ffccff #ff00ee #ff00ee #ffccff;
}
av6
hgweb: show commit phase if it's not public...
r35064 span.logtags span.phasetag {
background-color: #dfafff;
border-color: #e2b8ff #ce48ff #ce48ff #e2b8ff;
}
av6
hgweb: show obsolescence status of a commit...
r35088 span.logtags span.obsoletetag {
background-color: #dddddd;
border-color: #e4e4e4 #a3a3a3 #a3a3a3 #e4e4e4;
}
av6
hgweb: show instabilities of a commit...
r35093 span.logtags span.instabilitytag {
background-color: #ffb1c0;
border-color: #ffbbc8 #ff4476 #ff4476 #ffbbc8;
}
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 span.logtags span.tagtag {
background-color: #ffffaa;
border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
}
span.logtags span.branchtag {
background-color: #aaffaa;
border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
}
span.logtags span.inbranchtag {
background-color: #d5dde6;
border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
}
Yuya Nishihara
hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
r13863 span.logtags span.bookmarktag {
background-color: #afdffa;
border-color: #ccecff #46ace6 #46ace6 #ccecff;
}
Gregory Szorc
templates: use CSS classes for diff styling...
r23744 span.difflineplus { color:#008800; }
span.difflineminus { color:#cc0000; }
span.difflineat { color:#990099; }
av6
gitweb: port code selection without line numbers from paper...
r26288 div.diffblocks { counter-reset: lineno; }
div.diffblock { counter-increment: lineno; }
pre.sourcelines { position: relative; counter-reset: lineno; }
pre.sourcelines > span {
display: inline-block;
box-sizing: border-box;
width: 100%;
padding: 0 0 0 5em;
counter-increment: lineno;
av6
gitweb, monoblue: fix vertical align of spans in .sourcelines...
r26362 vertical-align: top;
av6
gitweb: port code selection without line numbers from paper...
r26288 }
pre.sourcelines > span:before {
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
user-select: none;
display: inline-block;
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 margin-left: -6em;
av6
gitweb: port code selection without line numbers from paper...
r26288 width: 4em;
color: #999;
text-align: right;
content: counters(lineno,".");
float: left;
}
pre.sourcelines > a {
display: inline-block;
position: absolute;
left: 0px;
width: 4em;
height: 1em;
}
av6
gitweb, monoblue: port highlighting linked lines from paper...
r26363 tr:target td,
pre.sourcelines > span:target,
pre.sourcelines.stripes > span:target {
background-color: #bfdfff;
}
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
Gregory Szorc
gitweb: use monospace font for commit messages...
r31625 .description {
font-family: monospace;
Gregory Szorc
gitweb: preserve whitespace in description...
r33557 white-space: pre;
Gregory Szorc
gitweb: use monospace font for commit messages...
r31625 }
Denis Laxalde
gitweb: plug followlines UI in filerevision view...
r31949 /* Followlines */
Denis Laxalde
hgweb: plug followlines action in annotate view...
r32994 tbody.sourcelines > tr.followlines-selected,
Denis Laxalde
gitweb: plug followlines UI in filerevision view...
r31949 pre.sourcelines > span.followlines-selected {
background-color: #99C7E9 !important;
}
div#followlines {
av6
gitweb: apply styles from annotate tooltip to followlines popup...
r35026 background-color: #FFF;
border: 1px solid #d9d8d1;
padding: 5px;
Denis Laxalde
gitweb: plug followlines UI in filerevision view...
r31949 position: fixed;
}
div.followlines-cancel {
text-align: right;
}
div.followlines-cancel > button {
line-height: 80%;
padding: 0;
border: 0;
border-radius: 2px;
background-color: inherit;
font-weight: bold;
}
div.followlines-cancel > button:hover {
color: #FFFFFF;
background-color: #CF1F1F;
}
div.followlines-link {
margin: 2px;
margin-top: 4px;
font-family: sans-serif;
}
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 .btn-followlines {
av6
hgweb: make followlines button absolutely positioned...
r37510 position: absolute;
Denis Laxalde
gitweb: plug followlines UI in filerevision view...
r31949 display: none;
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 cursor: pointer;
box-sizing: content-box;
font-size: 11px;
width: 13px;
height: 13px;
border-radius: 3px;
margin: 0px;
margin-top: -2px;
padding: 0px;
background-color: #E5FDE5;
border: 1px solid #9BC19B;
font-family: monospace;
text-align: center;
line-height: 5px;
}
span.followlines-select .btn-followlines {
margin-left: -1.6em;
}
.btn-followlines:hover {
transform: scale(1.1, 1.1);
}
.btn-followlines .followlines-plus {
color: green;
}
.btn-followlines .followlines-minus {
color: red;
}
.btn-followlines-end {
background-color: #ffdcdc;
}
.sourcelines tr:hover .btn-followlines,
.sourcelines span.followlines-select:hover > .btn-followlines {
Denis Laxalde
gitweb: plug followlines UI in filerevision view...
r31949 display: inline;
}
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390 .btn-followlines-hidden,
.sourcelines tr:hover .btn-followlines-hidden {
Denis Laxalde
gitweb: plug followlines UI in filerevision view...
r31949 display: none;
}
Denis Laxalde
hgweb: re-implement followlines UI selection using buttons...
r33390
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 /* Graph */
div#wrapper {
position: relative;
margin: 0;
padding: 0;
margin-top: 3px;
}
canvas {
position: absolute;
z-index: 5;
top: -0.9em;
margin: 0;
}
av6
gitweb: make actual changeset entries have backgrounds on /graph...
r35549 ul#graphnodes {
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 list-style: none inside none;
padding: 0;
margin: 0;
}
av6
gitweb: make actual changeset entries have backgrounds on /graph...
r35549 ul#graphnodes li {
position: relative;
height: 37px;
overflow: visible;
padding-top: 2px;
}
ul#graphnodes li .fg {
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 position: absolute;
z-index: 10;
}
ul#graphnodes li .info {
font-size: 100%;
font-style: italic;
}
wujek srujek
hgweb: side-by-side comparison functionality...
r17202
/* Comparison */
.legend {
padding: 1.5% 0 1.5% 0;
}
.legendinfo {
border: 1px solid #d9d8d1;
font-size: 80%;
text-align: center;
padding: 0.5%;
}
.equal {
background-color: #ffffff;
}
.delete {
Matt Mackall
hgweb: improve colors for comparison page...
r17243 background-color: #faa;
color: #333;
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 }
.insert {
Matt Mackall
hgweb: improve colors for comparison page...
r17243 background-color: #ffa;
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 }
.replace {
Matt Mackall
hgweb: improve colors for comparison page...
r17243 background-color: #e8e8e8;
wujek srujek
hgweb: side-by-side comparison functionality...
r17202 }
.comparison {
overflow-x: auto;
}
.header th {
text-align: center;
}
.block {
border-top: 1px solid #d9d8d1;
}
Takumi IINO
hgweb: infinite scroll support for gitweb style
r20254
.scroll-loading {
-webkit-animation: change_color 1s linear 0s infinite alternate;
-moz-animation: change_color 1s linear 0s infinite alternate;
-o-animation: change_color 1s linear 0s infinite alternate;
animation: change_color 1s linear 0s infinite alternate;
}
@-webkit-keyframes change_color {
from { background-color: #A0CEFF; } to { }
}
@-moz-keyframes change_color {
from { background-color: #A0CEFF; } to { }
}
@-o-keyframes change_color {
from { background-color: #A0CEFF; } to { }
}
@keyframes change_color {
from { background-color: #A0CEFF; } to { }
}
.scroll-loading-error {
background-color: #FFCCCC !important;
}
av6
gitweb: add a margin for help text container
r26152
#doc {
margin: 0 8px;
}