Mercurial > hg
view templates/spartan/graph.tmpl @ 9693:c40a1ee20aa5
transaction: always remove empty journal on abort
When transactions without entries were aborted, the journal (of size 0) was not
unlinked, which prevents subsequent operations until hg recover is run on the
repository.
We also make sure the journal is unlinked when committing, even if the provided
hook doesn't do so.
author | Sune Foldager <cryo@cyanite.org> |
---|---|
date | Mon, 02 Nov 2009 10:19:14 +0100 |
parents | 5c1aabc58004 |
children | 17c6d5eab25d |
line wrap: on
line source
{header} <title>{repo|escape}: graph</title> <link rel="alternate" type="application/atom+xml" href="{url}atom-tags" title="Atom feed for {repo|escape}: tags"> <link rel="alternate" type="application/rss+xml" href="{url}rss-tags" title="RSS feed for {repo|escape}: tags"> <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]--> </head> <body> <div class="buttons"> <a href="{url}log{sessionvars%urlparameter}">changelog</a> <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> <a href="{url}tags{sessionvars%urlparameter}">tags</a> <a href="{url}branches{sessionvars%urlparameter}">branches</a> <a href="{url}file/{node|short}/{sessionvars%urlparameter}">files</a> </div> <h2>graph</h2> <form action="{url}log"> {sessionvars%hiddenformentry} <p> <label for="search1">search:</label> <input name="rev" id="search1" type="text" size="30"> navigate: <small class="navigate">{changenav%navgraphentry}</small> </p> </form> <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript> <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><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]); item = item.replace(/_DESC/, cur[3]); item = item.replace(/_USER/, cur[4]); item = item.replace(/_DATE/, cur[5]); return [bg, item]; } graph.render(data); // stop hiding script --> </script> <form action="{url}log"> {sessionvars%hiddenformentry} <p> <label for="search1">search:</label> <input name="rev" id="search1" type="text" size="30"> navigate: <small class="navigate">{changenav%navgraphentry}</small> </p> </form> {footer}