##// END OF EJS Templates
revset: disable subset optimization for parents() and children() (issue2437)...
revset: disable subset optimization for parents() and children() (issue2437) For the boolean operators, the subset optimization works by calculating the cheaper argument first, and passing the subset to the second argument to restrict the revision domain. This works well for filtering predicates. But parents() don't work like a filter: it may return revisions outside the specified set. So, combining it with boolean operators may easily yield incorrect results. For instance, for the following revision graph: 0 -- 1 the expression '0 and parents(1)' should evaluate as follows: 0 and parents(1) -> 0 and 0 -> 0 But since [0] is passed to parents() as a subset, we get instead: 0 and parents(1 and 0) -> 0 and parents([]) -> 0 and [] -> [] This also affects children(), p1() and p2(), for the same reasons. Predicates that call these (like heads()) are also affected. We work around this issue by ignoring the subset when propagating the call inside those predicates.

File last commit:

r10575:136eed1a stable
r12786:9aae04f4 default
Show More
style-coal.css
265 lines | 4.5 KiB | text/css | CssLexer
body {
margin: 0;
padding: 0;
background: black url(background.png) repeat-x;
font-family: sans-serif;
}
.container {
padding-right: 150px;
}
.main {
position: relative;
background: white;
padding: 2em;
border-right: 15px solid black;
border-bottom: 15px solid black;
}
#.main {
width: 98%;
}
.overflow {
width: 100%;
overflow: auto;
}
.menu {
background: #999;
padding: 10px;
width: 75px;
margin: 0;
font-size: 80%;
text-align: left;
position: fixed;
top: 27px;
left: auto;
right: 27px;
}
#.menu {
position: absolute !important;
top:expression(eval(document.body.scrollTop + 27));
}
.menu ul {
list-style: none;
padding: 0;
margin: 10px 0 0 0;
}
.menu li {
margin-bottom: 3px;
padding: 2px 4px;
background: white;
color: black;
font-weight: normal;
}
.menu li.active {
background: black;
color: white;
}
.menu img {
width: 75px;
height: 90px;
border: 0;
}
.menu a { color: black; display: block; }
.search {
position: absolute;
top: .7em;
right: 2em;
}
form.search div#hint {
display: none;
position: absolute;
top: 40px;
right: 0px;
width: 190px;
padding: 5px;
background: #ffc;
font-size: 70%;
border: 1px solid yellow;
-moz-border-radius: 5px; /* this works only in camino/firefox */
-webkit-border-radius: 5px; /* this is just for Safari */
}
form.search:hover div#hint { display: block; }
a { text-decoration:none; }
.age { white-space:nowrap; }
.date { white-space:nowrap; }
.indexlinks { white-space:nowrap; }
.parity0 { background-color: #f0f0f0; }
.parity1 { background-color: white; }
.plusline { color: green; }
.minusline { color: #dc143c; } /* crimson */
.atline { color: purple; }
.navigate {
text-align: right;
font-size: 60%;
margin: 1em 0;
}
.tag {
color: #999;
font-size: 70%;
font-weight: normal;
margin-left: .5em;
vertical-align: baseline;
}
.branchhead {
color: #000;
font-size: 80%;
font-weight: normal;
margin-left: .5em;
vertical-align: baseline;
}
ul#graphnodes .branchhead {
font-size: 75%;
}
.branchname {
color: #000;
font-size: 60%;
font-weight: normal;
margin-left: .5em;
vertical-align: baseline;
}
h3 .branchname {
font-size: 80%;
}
/* Common */
pre { margin: 0; }
h2 { font-size: 120%; border-bottom: 1px solid #999; }
h2 a { color: #000; }
h3 {
margin-top: -.7em;
font-size: 100%;
}
/* log and tags tables */
.bigtable {
border-bottom: 1px solid #999;
border-collapse: collapse;
font-size: 90%;
width: 100%;
font-weight: normal;
text-align: left;
}
.bigtable td {
vertical-align: top;
}
.bigtable th {
padding: 1px 4px;
border-bottom: 1px solid #999;
}
.bigtable tr { border: none; }
.bigtable .age { width: 6em; }
.bigtable .author { width: 12em; }
.bigtable .description { }
.bigtable .node { width: 5em; font-family: monospace;}
.bigtable .lineno { width: 2em; text-align: right;}
.bigtable .lineno a { color: #999; font-size: smaller; font-family: monospace;}
.bigtable .permissions { width: 8em; text-align: left;}
.bigtable .size { width: 5em; text-align: right; }
.bigtable .annotate { text-align: right; }
.bigtable td.annotate { font-size: smaller; }
.bigtable td.source { font-size: inherit; }
.source, .sourcefirst, .sourcelast {
font-family: monospace;
white-space: pre;
padding: 1px 4px;
font-size: 90%;
}
.sourcefirst { border-bottom: 1px solid #999; font-weight: bold; }
.sourcelast { border-top: 1px solid #999; }
.source a { color: #999; font-size: smaller; font-family: monospace;}
.bottomline { border-bottom: 1px solid #999; }
.fileline { font-family: monospace; }
.fileline img { border: 0; }
.tagEntry .closed { color: #99f; }
/* Changeset entry */
#changesetEntry {
border-collapse: collapse;
font-size: 90%;
width: 100%;
margin-bottom: 1em;
}
#changesetEntry th {
padding: 1px 4px;
width: 4em;
text-align: right;
font-weight: normal;
color: #999;
margin-right: .5em;
vertical-align: top;
}
div.description {
border-left: 3px solid #999;
margin: 1em 0 1em 0;
padding: .3em;
}
/* Graph */
div#wrapper {
position: relative;
border-top: 1px solid black;
border-bottom: 1px solid black;
margin: 0;
padding: 0;
}
canvas {
position: absolute;
z-index: 5;
top: -0.7em;
margin: 0;
}
ul#graphnodes {
position: absolute;
z-index: 10;
top: -1.0em;
list-style: none inside none;
padding: 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 li .info {
display: block;
font-size: 70%;
position: relative;
top: -3px;
}