##// END OF EJS Templates
revset: introduce new operator "##" to concatenate strings/symbols at runtime...
revset: introduce new operator "##" to concatenate strings/symbols at runtime Before this patch, there is no way to concatenate strings at runtime. For example, to search for the issue ID "1234" in descriptions against all of "issue 1234", "issue:1234", issue1234" and "bug(1234)" patterns, the revset below should be written fully from scratch for each issue ID. grep(r"\bissue[ :]?1234\b|\bbug\(1234\)") This patch introduces new infix operator "##" to concatenate strings/symbols at runtime. Operator symbol "##" comes from the same one of C pre-processor. This concatenation allows parametrizing a part of strings in revset queries. In the case of example above, the definition of the revset alias using operator "##" below can search issue ID "1234" in complicated patterns by "issue(1234)" simply: issue($1) = grep(r"\bissue[ :]?" ## $1 ## r"\b|\bbug\(" ## $1 ## r"\)") "##" operator does: - concatenate not only strings but also symbols into the string Exact distinction between strings and symbols seems not to be convenience, because it is tiresome for users (and "revset.getstring" treats both similarly) For example of revset alias "issue()", "issue(1234)" is easier than "issue('1234')". - have higher priority than any other prefix, infix and postfix operators (like as "##" of C pre-processor) This patch (re-)assigns the priority 20 to "##", and 21 to "(", because priority 19 is already assigned to "-" as prefix "negate".

File last commit:

r20254:3896debf default
r23742:3a4d8a6c default
Show More
graph.tmpl
122 lines | 3.9 KiB | application/x-cheetah | CheetahLexer
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 {header}
<title>{repo|escape}: Graph</title>
<link rel="alternate" type="application/atom+xml"
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <link rel="alternate" type="application/rss+xml"
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/>
<!--[if IE]><script type="text/javascript" src="{staticurl|urlescape}excanvas.js"></script><![endif]-->
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </head>
<body>
<div class="page_header">
Angel Ezquerra <angel.ezquerra at gmail.com>
hgweb: add a "URL breadcrumb" to the index and repository pages...
r18258 <a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a>
<a href="/">Mercurial</a> {pathdef%breadcrumb} / graph
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </div>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <form action="{url|urlescape}log">
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 {sessionvars%hiddenformentry}
<div class="search">
<input type="text" name="rev" />
</div>
</form>
<div class="page_nav">
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> |
<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> |
<a href="{url|urlescape}log/{rev}{sessionvars%urlparameter}">changelog</a> |
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 graph |
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> |
<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> |
<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> |
<a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a> |
<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <br/>
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <a href="{url|urlescape}graph/{rev}{lessvars%urlparameter}">less</a>
<a href="{url|urlescape}graph/{rev}{morevars%urlparameter}">more</a>
Nicolas Dumazet
hgweb: changenav: separate pages before and after the current position...
r10254 | {changenav%navgraph}<br/>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </div>
<div class="title">&nbsp;</div>
<noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>
<div id="wrapper">
<ul id="nodebgs"></ul>
Dirkjan Ochtman
templates: widen the graph canvas (issue2683)
r13610 <canvas id="graph" width="480" height="{canvasheight}"></canvas>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 <ul id="graphnodes"></ul>
</div>
<script>
<!-- hide script content
var data = {jsdata|json};
var graph = new Graph();
graph.scale({bg_height});
Matt Mackall
templates: escape javascript braces
r10856 graph.vertex = function(x, y, color, parity, cur) \{
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999
this.ctx.beginPath();
color = this.setColor(color, 0.25, 0.75);
this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
this.ctx.fill();
var bg = '<li class="bg parity' + parity + '"></li>';
Tim Delaney
hgweb: fix incorrect graph padding calculation (issue3626)...
r17580 var left = (this.bg_height - this.box_size) + (this.columns + 1) * this.box_size;
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 var nstyle = 'padding-left: ' + left + 'px;';
var tagspan = '';
Yuya Nishihara
hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
r13863 if (cur[7].length || cur[8].length || (cur[6][0] != 'default' || cur[6][1])) \{
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 tagspan = '<span class="logtags">';
Matt Mackall
templates: escape javascript braces
r10856 if (cur[6][1]) \{
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
tagspan += cur[6][0] + '</span> ';
Matt Mackall
templates: escape javascript braces
r10856 } else if (!cur[6][1] && cur[6][0] != 'default') \{
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
tagspan += cur[6][0] + '</span> ';
}
Matt Mackall
templates: escape javascript braces
r10856 if (cur[7].length) \{
for (var t in cur[7]) \{
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 var tag = cur[7][t];
tagspan += '<span class="tagtag">' + tag + '</span> ';
}
}
Yuya Nishihara
hgweb: add bookmark labels to gitweb theme (based on 270f57d35525)
r13863 if (cur[8].length) \{
for (var t in cur[8]) \{
var bookmark = cur[8][t];
tagspan += '<span class="bookmarktag">' + bookmark + '</span> ';
}
}
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 tagspan += '</span>';
}
Mads Kiilerich
hgweb: avoid bad $$ processing in graph (issue3601)...
r17421 var item = '<li style="' + nstyle + '"><span class="desc">';
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 item += '<a class="list" href="{url|urlescape}rev/' + cur[0] + '{sessionvars%urlparameter}" title="' + cur[0] + '"><b>' + cur[3] + '</b></a>';
Mads Kiilerich
hgweb: avoid bad $$ processing in graph (issue3601)...
r17421 item += '</span> ' + tagspan + '';
item += '<span class="info">' + cur[5] + ', by ' + cur[4] + '</span></li>';
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 return [bg, item];
}
graph.render(data);
// stop hiding script -->
</script>
<div class="page_nav">
Thomas Arendsen Hein
hgweb: urlescape all urls, HTML escape repo/tag/branch/... names...
r18526 <a href="{url|urlescape}graph/{rev}{lessvars%urlparameter}">less</a>
<a href="{url|urlescape}graph/{rev}{morevars%urlparameter}">more</a>
Nicolas Dumazet
hgweb: changenav: separate pages before and after the current position...
r10254 | {changenav%navgraph}
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 </div>
Takumi IINO
hgweb: infinite scroll support for gitweb style
r20254 <script type="text/javascript">
ajaxScrollInit(
'{url|urlescape}graph/{rev}?revcount=%next%&style={style}',
{revcount}+60,
function (htmlText, previousVal) \{ return previousVal + 60; },
'#wrapper',
'<div class="%class%" style="text-align: center;">%text%</div>',
'graph'
);
</script>
Dan Villiom Podlaski Christiansen
setup: install translation files as package data...
r9999 {footer}