##// END OF EJS Templates
patch: better handling of sequence of offset patch hunks (issue1941)...
patch: better handling of sequence of offset patch hunks (issue1941) The built-in patch implementation applied the hunks to the wrong lines of the file if the file in the repo has been modified to skew the patch line numbers and the file contains repetitive sequences of lines.

File last commit:

r8936:1de6e7e1 default
r10135:9a4034b6 stable
Show More
graph.tmpl
132 lines | 3.9 KiB | application/x-cheetah | CheetahLexer
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 {header}
<title>{repo|escape}: revision graph</title>
<link rel="alternate" type="application/atom+xml"
Benoit Allard
coal/paper: switch to XHTML 1.1
r7725 href="{url}atom-log" title="Atom feed for {repo|escape}: log" />
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 <link rel="alternate" type="application/rss+xml"
Benoit Allard
coal/paper: switch to XHTML 1.1
r7725 href="{url}rss-log" title="RSS feed for {repo|escape}: log" />
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]-->
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
Dirkjan Ochtman
change wiki/bts URLs to point to new hostname
r8936 <a href="http://mercurial.selenic.com/">
Benoit Allard
coal/paper: switch to XHTML 1.1
r7725 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 </div>
<ul>
<li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
<li class="active">graph</li>
<li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
Sune Foldager
paper/coal: add branches page
r8353 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 </ul>
<ul>
<li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
<li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
</ul>
</div>
<div class="main">
<h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
<h3>graph</h3>
<form class="search" action="{url}log">
{sessionvars%hiddenformentry}
Benoit Allard
coal/paper: switch to XHTML 1.1
r7725 <p><input name="rev" id="search1" type="text" size="30" /></p>
<div id="hint">find changesets by author, revision,
files, or words in the commit message</div>
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 </form>
<div class="navigate">
<a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
<a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
| rev {rev}: {changenav%navgraphentry}
</div>
Benoit Allard
coal/paper: switch to XHTML 1.1
r7725 <noscript><p>The revision graph only works with JavaScript-enabled browsers.</p></noscript>
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411
<div id="wrapper">
<ul id="nodebgs"></ul>
<canvas id="graph" width="224" height="{canvasheight}"></canvas>
<ul id="graphnodes"></ul>
</div>
<script type="text/javascript" src="{staticurl}graph.js"></script>
<script type="text/javascript">
<!-- hide script content
var data = {jsdata|json};
var graph = new Graph();
graph.scale({bg_height});
graph.edge = function(x0, y0, x1, y1, color) {
this.setColor(color, 0.0, 0.65);
this.ctx.beginPath();
this.ctx.moveTo(x0, y0);
this.ctx.lineTo(x1, y1);
this.ctx.stroke();
}
var revlink = '<li style="_STYLE"><span class="desc">';
revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
revlink += '</span>_TAGS<span class="info">_DATE ago, by _USER</span></li>';
graph.vertex = function(x, y, color, parity, cur) {
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>';
var left = (this.columns + 1) * this.bg_height;
var nstyle = 'padding-left: ' + left + 'px;';
var item = revlink.replace(/_STYLE/, nstyle);
item = item.replace(/_PARITY/, 'parity' + parity);
item = item.replace(/_NODEID/, cur[0]);
item = item.replace(/_NODEID/, cur[0]);
Martin Geisler
webcommands: move nonempty logic from JavaScript to Python...
r8236 item = item.replace(/_DESC/, cur[3]);
Dirkjan Ochtman
coal/paper: move actual templates from coal to paper
r7411 item = item.replace(/_USER/, cur[4]);
item = item.replace(/_DATE/, cur[5]);
var tagspan = '';
if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
tagspan = '<span class="logtags">';
if (cur[6][1]) {
tagspan += '<span class="branchhead" title="' + cur[6][0] + '">';
tagspan += cur[6][0] + '</span> ';
} else if (!cur[6][1] && cur[6][0] != 'default') {
tagspan += '<span class="branchname" title="' + cur[6][0] + '">';
tagspan += cur[6][0] + '</span> ';
}
if (cur[7].length) {
for (var t in cur[7]) {
var tag = cur[7][t];
tagspan += '<span class="tag">' + tag + '</span> ';
}
}
tagspan += '</span>';
}
item = item.replace(/_TAGS/, tagspan);
return [bg, item];
}
graph.render(data);
// stop hiding script -->
</script>
<div class="navigate">
<a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
<a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
| rev {rev}: {changenav%navgraphentry}
</div>
</div>
</div>
{footer}