Show More
@@ -1,122 +1,122 b'' | |||||
1 | {header} |
|
1 | {header} | |
2 | <title>{repo|escape}: Graph</title> |
|
2 | <title>{repo|escape}: Graph</title> | |
3 | <link rel="alternate" type="application/atom+xml" |
|
3 | <link rel="alternate" type="application/atom+xml" | |
4 | href="{url}atom-log" title="Atom feed for {repo|escape}"/> |
|
4 | href="{url}atom-log" title="Atom feed for {repo|escape}"/> | |
5 | <link rel="alternate" type="application/rss+xml" |
|
5 | <link rel="alternate" type="application/rss+xml" | |
6 | href="{url}rss-log" title="RSS feed for {repo|escape}"/> |
|
6 | href="{url}rss-log" title="RSS feed for {repo|escape}"/> | |
7 | <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]--> |
|
7 | <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]--> | |
8 | </head> |
|
8 | </head> | |
9 | <body> |
|
9 | <body> | |
10 |
|
10 | |||
11 | <div class="page_header"> |
|
11 | <div class="page_header"> | |
12 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / graph |
|
12 | <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / graph | |
13 | </div> |
|
13 | </div> | |
14 |
|
14 | |||
15 | <form action="{url}log"> |
|
15 | <form action="{url}log"> | |
16 | {sessionvars%hiddenformentry} |
|
16 | {sessionvars%hiddenformentry} | |
17 | <div class="search"> |
|
17 | <div class="search"> | |
18 | <input type="text" name="rev" /> |
|
18 | <input type="text" name="rev" /> | |
19 | </div> |
|
19 | </div> | |
20 | </form> |
|
20 | </form> | |
21 | <div class="page_nav"> |
|
21 | <div class="page_nav"> | |
22 | <a href="{url}summary{sessionvars%urlparameter}">summary</a> | |
|
22 | <a href="{url}summary{sessionvars%urlparameter}">summary</a> | | |
23 | <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> | |
|
23 | <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> | | |
24 | <a href="{url}log/{rev}{sessionvars%urlparameter}">changelog</a> | |
|
24 | <a href="{url}log/{rev}{sessionvars%urlparameter}">changelog</a> | | |
25 | graph | |
|
25 | graph | | |
26 | <a href="{url}tags{sessionvars%urlparameter}">tags</a> | |
|
26 | <a href="{url}tags{sessionvars%urlparameter}">tags</a> | | |
27 | <a href="{url}branches{sessionvars%urlparameter}">branches</a> | |
|
27 | <a href="{url}branches{sessionvars%urlparameter}">branches</a> | | |
28 | <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a> | |
|
28 | <a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a> | | |
29 | <a href="{url}help{sessionvars%urlparameter}">help</a> |
|
29 | <a href="{url}help{sessionvars%urlparameter}">help</a> | |
30 | <br/> |
|
30 | <br/> | |
31 | <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a> |
|
31 | <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a> | |
32 | <a href="{url}graph/{rev}{morevars%urlparameter}">more</a> |
|
32 | <a href="{url}graph/{rev}{morevars%urlparameter}">more</a> | |
33 | | {changenav%navgraph}<br/> |
|
33 | | {changenav%navgraph}<br/> | |
34 | </div> |
|
34 | </div> | |
35 |
|
35 | |||
36 | <div class="title"> </div> |
|
36 | <div class="title"> </div> | |
37 |
|
37 | |||
38 | <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript> |
|
38 | <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript> | |
39 |
|
39 | |||
40 | <div id="wrapper"> |
|
40 | <div id="wrapper"> | |
41 | <ul id="nodebgs"></ul> |
|
41 | <ul id="nodebgs"></ul> | |
42 |
<canvas id="graph" width=" |
|
42 | <canvas id="graph" width="480" height="{canvasheight}"></canvas> | |
43 | <ul id="graphnodes"></ul> |
|
43 | <ul id="graphnodes"></ul> | |
44 | </div> |
|
44 | </div> | |
45 |
|
45 | |||
46 | <script type="text/javascript" src="{staticurl}graph.js"></script> |
|
46 | <script type="text/javascript" src="{staticurl}graph.js"></script> | |
47 | <script> |
|
47 | <script> | |
48 | <!-- hide script content |
|
48 | <!-- hide script content | |
49 |
|
49 | |||
50 | var data = {jsdata|json}; |
|
50 | var data = {jsdata|json}; | |
51 | var graph = new Graph(); |
|
51 | var graph = new Graph(); | |
52 | graph.scale({bg_height}); |
|
52 | graph.scale({bg_height}); | |
53 |
|
53 | |||
54 | graph.edge = function(x0, y0, x1, y1, color) \{ |
|
54 | graph.edge = function(x0, y0, x1, y1, color) \{ | |
55 |
|
55 | |||
56 | this.setColor(color, 0.0, 0.65); |
|
56 | this.setColor(color, 0.0, 0.65); | |
57 | this.ctx.beginPath(); |
|
57 | this.ctx.beginPath(); | |
58 | this.ctx.moveTo(x0, y0); |
|
58 | this.ctx.moveTo(x0, y0); | |
59 | this.ctx.lineTo(x1, y1); |
|
59 | this.ctx.lineTo(x1, y1); | |
60 | this.ctx.stroke(); |
|
60 | this.ctx.stroke(); | |
61 |
|
61 | |||
62 | } |
|
62 | } | |
63 |
|
63 | |||
64 | var revlink = '<li style="_STYLE"><span class="desc">'; |
|
64 | var revlink = '<li style="_STYLE"><span class="desc">'; | |
65 | revlink += '<a class="list" href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID"><b>_DESC</b></a>'; |
|
65 | revlink += '<a class="list" href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID"><b>_DESC</b></a>'; | |
66 | revlink += '</span> _TAGS'; |
|
66 | revlink += '</span> _TAGS'; | |
67 | revlink += '<span class="info">_DATE, by _USER</span></li>'; |
|
67 | revlink += '<span class="info">_DATE, by _USER</span></li>'; | |
68 |
|
68 | |||
69 | graph.vertex = function(x, y, color, parity, cur) \{ |
|
69 | graph.vertex = function(x, y, color, parity, cur) \{ | |
70 |
|
70 | |||
71 | this.ctx.beginPath(); |
|
71 | this.ctx.beginPath(); | |
72 | color = this.setColor(color, 0.25, 0.75); |
|
72 | color = this.setColor(color, 0.25, 0.75); | |
73 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); |
|
73 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); | |
74 | this.ctx.fill(); |
|
74 | this.ctx.fill(); | |
75 |
|
75 | |||
76 | var bg = '<li class="bg parity' + parity + '"></li>'; |
|
76 | var bg = '<li class="bg parity' + parity + '"></li>'; | |
77 | var left = (this.columns + 1) * this.bg_height; |
|
77 | var left = (this.columns + 1) * this.bg_height; | |
78 | var nstyle = 'padding-left: ' + left + 'px;'; |
|
78 | var nstyle = 'padding-left: ' + left + 'px;'; | |
79 | var item = revlink.replace(/_STYLE/, nstyle); |
|
79 | var item = revlink.replace(/_STYLE/, nstyle); | |
80 | item = item.replace(/_PARITY/, 'parity' + parity); |
|
80 | item = item.replace(/_PARITY/, 'parity' + parity); | |
81 | item = item.replace(/_NODEID/, cur[0]); |
|
81 | item = item.replace(/_NODEID/, cur[0]); | |
82 | item = item.replace(/_NODEID/, cur[0]); |
|
82 | item = item.replace(/_NODEID/, cur[0]); | |
83 | item = item.replace(/_DESC/, cur[3]); |
|
83 | item = item.replace(/_DESC/, cur[3]); | |
84 | item = item.replace(/_USER/, cur[4]); |
|
84 | item = item.replace(/_USER/, cur[4]); | |
85 | item = item.replace(/_DATE/, cur[5]); |
|
85 | item = item.replace(/_DATE/, cur[5]); | |
86 |
|
86 | |||
87 | var tagspan = ''; |
|
87 | var tagspan = ''; | |
88 | if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) \{ |
|
88 | if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) \{ | |
89 | tagspan = '<span class="logtags">'; |
|
89 | tagspan = '<span class="logtags">'; | |
90 | if (cur[6][1]) \{ |
|
90 | if (cur[6][1]) \{ | |
91 | tagspan += '<span class="branchtag" title="' + cur[6][0] + '">'; |
|
91 | tagspan += '<span class="branchtag" title="' + cur[6][0] + '">'; | |
92 | tagspan += cur[6][0] + '</span> '; |
|
92 | tagspan += cur[6][0] + '</span> '; | |
93 | } else if (!cur[6][1] && cur[6][0] != 'default') \{ |
|
93 | } else if (!cur[6][1] && cur[6][0] != 'default') \{ | |
94 | tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">'; |
|
94 | tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">'; | |
95 | tagspan += cur[6][0] + '</span> '; |
|
95 | tagspan += cur[6][0] + '</span> '; | |
96 | } |
|
96 | } | |
97 | if (cur[7].length) \{ |
|
97 | if (cur[7].length) \{ | |
98 | for (var t in cur[7]) \{ |
|
98 | for (var t in cur[7]) \{ | |
99 | var tag = cur[7][t]; |
|
99 | var tag = cur[7][t]; | |
100 | tagspan += '<span class="tagtag">' + tag + '</span> '; |
|
100 | tagspan += '<span class="tagtag">' + tag + '</span> '; | |
101 | } |
|
101 | } | |
102 | } |
|
102 | } | |
103 | tagspan += '</span>'; |
|
103 | tagspan += '</span>'; | |
104 | } |
|
104 | } | |
105 |
|
105 | |||
106 | item = item.replace(/_TAGS/, tagspan); |
|
106 | item = item.replace(/_TAGS/, tagspan); | |
107 | return [bg, item]; |
|
107 | return [bg, item]; | |
108 |
|
108 | |||
109 | } |
|
109 | } | |
110 |
|
110 | |||
111 | graph.render(data); |
|
111 | graph.render(data); | |
112 |
|
112 | |||
113 | // stop hiding script --> |
|
113 | // stop hiding script --> | |
114 | </script> |
|
114 | </script> | |
115 |
|
115 | |||
116 | <div class="page_nav"> |
|
116 | <div class="page_nav"> | |
117 | <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a> |
|
117 | <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a> | |
118 | <a href="{url}graph/{rev}{morevars%urlparameter}">more</a> |
|
118 | <a href="{url}graph/{rev}{morevars%urlparameter}">more</a> | |
119 | | {changenav%navgraph} |
|
119 | | {changenav%navgraph} | |
120 | </div> |
|
120 | </div> | |
121 |
|
121 | |||
122 | {footer} |
|
122 | {footer} |
@@ -1,119 +1,119 b'' | |||||
1 | {header} |
|
1 | {header} | |
2 | <title>{repo|escape}: graph</title> |
|
2 | <title>{repo|escape}: graph</title> | |
3 | <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/> |
|
3 | <link rel="alternate" type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}"/> | |
4 | <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/> |
|
4 | <link rel="alternate" type="application/rss+xml" href="{url}rss-log" title="RSS feed for {repo|escape}"/> | |
5 | <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]--> |
|
5 | <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]--> | |
6 | </head> |
|
6 | </head> | |
7 |
|
7 | |||
8 | <body> |
|
8 | <body> | |
9 | <div id="container"> |
|
9 | <div id="container"> | |
10 | <div class="page-header"> |
|
10 | <div class="page-header"> | |
11 | <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / graph</h1> |
|
11 | <h1><a href="{url}summary{sessionvars%urlparameter}">{repo|escape}</a> / graph</h1> | |
12 |
|
12 | |||
13 | <form action="{url}log"> |
|
13 | <form action="{url}log"> | |
14 | {sessionvars%hiddenformentry} |
|
14 | {sessionvars%hiddenformentry} | |
15 | <dl class="search"> |
|
15 | <dl class="search"> | |
16 | <dt><label>Search: </label></dt> |
|
16 | <dt><label>Search: </label></dt> | |
17 | <dd><input type="text" name="rev" /></dd> |
|
17 | <dd><input type="text" name="rev" /></dd> | |
18 | </dl> |
|
18 | </dl> | |
19 | </form> |
|
19 | </form> | |
20 |
|
20 | |||
21 | <ul class="page-nav"> |
|
21 | <ul class="page-nav"> | |
22 | <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li> |
|
22 | <li><a href="{url}summary{sessionvars%urlparameter}">summary</a></li> | |
23 | <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li> |
|
23 | <li><a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a></li> | |
24 | <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li> |
|
24 | <li><a href="{url}changelog{sessionvars%urlparameter}">changelog</a></li> | |
25 | <li class="current">graph</li> |
|
25 | <li class="current">graph</li> | |
26 | <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li> |
|
26 | <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li> | |
27 | <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li> |
|
27 | <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li> | |
28 | <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li> |
|
28 | <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a></li> | |
29 | <li><a href="{url}help{sessionvars%urlparameter}">help</a></li> |
|
29 | <li><a href="{url}help{sessionvars%urlparameter}">help</a></li> | |
30 | </ul> |
|
30 | </ul> | |
31 | </div> |
|
31 | </div> | |
32 |
|
32 | |||
33 | <h2 class="no-link no-border">graph</h2> |
|
33 | <h2 class="no-link no-border">graph</h2> | |
34 |
|
34 | |||
35 | <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div> |
|
35 | <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div> | |
36 | <div id="wrapper"> |
|
36 | <div id="wrapper"> | |
37 | <ul id="nodebgs"></ul> |
|
37 | <ul id="nodebgs"></ul> | |
38 |
<canvas id="graph" width=" |
|
38 | <canvas id="graph" width="480" height="{canvasheight}"></canvas> | |
39 | <ul id="graphnodes"></ul> |
|
39 | <ul id="graphnodes"></ul> | |
40 | </div> |
|
40 | </div> | |
41 |
|
41 | |||
42 | <script type="text/javascript" src="{staticurl}graph.js"></script> |
|
42 | <script type="text/javascript" src="{staticurl}graph.js"></script> | |
43 | <script> |
|
43 | <script> | |
44 | <!-- hide script content |
|
44 | <!-- hide script content | |
45 |
|
45 | |||
46 | document.getElementById('noscript').style.display = 'none'; |
|
46 | document.getElementById('noscript').style.display = 'none'; | |
47 |
|
47 | |||
48 | var data = {jsdata|json}; |
|
48 | var data = {jsdata|json}; | |
49 | var graph = new Graph(); |
|
49 | var graph = new Graph(); | |
50 | graph.scale({bg_height}); |
|
50 | graph.scale({bg_height}); | |
51 |
|
51 | |||
52 | graph.edge = function(x0, y0, x1, y1, color) \{ |
|
52 | graph.edge = function(x0, y0, x1, y1, color) \{ | |
53 |
|
53 | |||
54 | this.setColor(color, 0.0, 0.65); |
|
54 | this.setColor(color, 0.0, 0.65); | |
55 | this.ctx.beginPath(); |
|
55 | this.ctx.beginPath(); | |
56 | this.ctx.moveTo(x0, y0); |
|
56 | this.ctx.moveTo(x0, y0); | |
57 | this.ctx.lineTo(x1, y1); |
|
57 | this.ctx.lineTo(x1, y1); | |
58 | this.ctx.stroke(); |
|
58 | this.ctx.stroke(); | |
59 |
|
59 | |||
60 | } |
|
60 | } | |
61 |
|
61 | |||
62 | var revlink = '<li style="_STYLE"><span class="desc">'; |
|
62 | var revlink = '<li style="_STYLE"><span class="desc">'; | |
63 | revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>'; |
|
63 | revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>'; | |
64 | revlink += '</span>_TAGS<span class="info">_DATE, by _USER</span></li>'; |
|
64 | revlink += '</span>_TAGS<span class="info">_DATE, by _USER</span></li>'; | |
65 |
|
65 | |||
66 | graph.vertex = function(x, y, color, parity, cur) \{ |
|
66 | graph.vertex = function(x, y, color, parity, cur) \{ | |
67 |
|
67 | |||
68 | this.ctx.beginPath(); |
|
68 | this.ctx.beginPath(); | |
69 | color = this.setColor(color, 0.25, 0.75); |
|
69 | color = this.setColor(color, 0.25, 0.75); | |
70 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); |
|
70 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); | |
71 | this.ctx.fill(); |
|
71 | this.ctx.fill(); | |
72 |
|
72 | |||
73 | var bg = '<li class="bg parity' + parity + '"></li>'; |
|
73 | var bg = '<li class="bg parity' + parity + '"></li>'; | |
74 | var left = (this.columns + 1) * this.bg_height; |
|
74 | var left = (this.columns + 1) * this.bg_height; | |
75 | var nstyle = 'padding-left: ' + left + 'px;'; |
|
75 | var nstyle = 'padding-left: ' + left + 'px;'; | |
76 | var item = revlink.replace(/_STYLE/, nstyle); |
|
76 | var item = revlink.replace(/_STYLE/, nstyle); | |
77 | item = item.replace(/_PARITY/, 'parity' + parity); |
|
77 | item = item.replace(/_PARITY/, 'parity' + parity); | |
78 | item = item.replace(/_NODEID/, cur[0]); |
|
78 | item = item.replace(/_NODEID/, cur[0]); | |
79 | item = item.replace(/_NODEID/, cur[0]); |
|
79 | item = item.replace(/_NODEID/, cur[0]); | |
80 | item = item.replace(/_DESC/, cur[3]); |
|
80 | item = item.replace(/_DESC/, cur[3]); | |
81 | item = item.replace(/_USER/, cur[4]); |
|
81 | item = item.replace(/_USER/, cur[4]); | |
82 | item = item.replace(/_DATE/, cur[5]); |
|
82 | item = item.replace(/_DATE/, cur[5]); | |
83 |
|
83 | |||
84 | var tagspan = ''; |
|
84 | var tagspan = ''; | |
85 | if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) \{ |
|
85 | if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) \{ | |
86 | tagspan = '<span class="logtags">'; |
|
86 | tagspan = '<span class="logtags">'; | |
87 | if (cur[6][1]) \{ |
|
87 | if (cur[6][1]) \{ | |
88 | tagspan += '<span class="branchtag" title="' + cur[6][0] + '">'; |
|
88 | tagspan += '<span class="branchtag" title="' + cur[6][0] + '">'; | |
89 | tagspan += cur[6][0] + '</span> '; |
|
89 | tagspan += cur[6][0] + '</span> '; | |
90 | } else if (!cur[6][1] && cur[6][0] != 'default') \{ |
|
90 | } else if (!cur[6][1] && cur[6][0] != 'default') \{ | |
91 | tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">'; |
|
91 | tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">'; | |
92 | tagspan += cur[6][0] + '</span> '; |
|
92 | tagspan += cur[6][0] + '</span> '; | |
93 | } |
|
93 | } | |
94 | if (cur[7].length) \{ |
|
94 | if (cur[7].length) \{ | |
95 | for (var t in cur[7]) \{ |
|
95 | for (var t in cur[7]) \{ | |
96 | var tag = cur[7][t]; |
|
96 | var tag = cur[7][t]; | |
97 | tagspan += '<span class="tagtag">' + tag + '</span> '; |
|
97 | tagspan += '<span class="tagtag">' + tag + '</span> '; | |
98 | } |
|
98 | } | |
99 | } |
|
99 | } | |
100 | tagspan += '</span>'; |
|
100 | tagspan += '</span>'; | |
101 | } |
|
101 | } | |
102 |
|
102 | |||
103 | item = item.replace(/_TAGS/, tagspan); |
|
103 | item = item.replace(/_TAGS/, tagspan); | |
104 | return [bg, item]; |
|
104 | return [bg, item]; | |
105 |
|
105 | |||
106 | } |
|
106 | } | |
107 |
|
107 | |||
108 | graph.render(data); |
|
108 | graph.render(data); | |
109 |
|
109 | |||
110 | // stop hiding script --> |
|
110 | // stop hiding script --> | |
111 | </script> |
|
111 | </script> | |
112 |
|
112 | |||
113 | <div class="page-path"> |
|
113 | <div class="page-path"> | |
114 | <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a> |
|
114 | <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a> | |
115 | <a href="{url}graph/{rev}{morevars%urlparameter}">more</a> |
|
115 | <a href="{url}graph/{rev}{morevars%urlparameter}">more</a> | |
116 | | {changenav%navgraph} |
|
116 | | {changenav%navgraph} | |
117 | </div> |
|
117 | </div> | |
118 |
|
118 | |||
119 | {footer} |
|
119 | {footer} |
@@ -1,142 +1,142 b'' | |||||
1 | {header} |
|
1 | {header} | |
2 | <title>{repo|escape}: revision graph</title> |
|
2 | <title>{repo|escape}: revision graph</title> | |
3 | <link rel="alternate" type="application/atom+xml" |
|
3 | <link rel="alternate" type="application/atom+xml" | |
4 | href="{url}atom-log" title="Atom feed for {repo|escape}: log" /> |
|
4 | href="{url}atom-log" title="Atom feed for {repo|escape}: log" /> | |
5 | <link rel="alternate" type="application/rss+xml" |
|
5 | <link rel="alternate" type="application/rss+xml" | |
6 | href="{url}rss-log" title="RSS feed for {repo|escape}: log" /> |
|
6 | href="{url}rss-log" title="RSS feed for {repo|escape}: log" /> | |
7 | <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]--> |
|
7 | <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]--> | |
8 | </head> |
|
8 | </head> | |
9 | <body> |
|
9 | <body> | |
10 |
|
10 | |||
11 | <div class="container"> |
|
11 | <div class="container"> | |
12 | <div class="menu"> |
|
12 | <div class="menu"> | |
13 | <div class="logo"> |
|
13 | <div class="logo"> | |
14 | <a href="http://mercurial.selenic.com/"> |
|
14 | <a href="http://mercurial.selenic.com/"> | |
15 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> |
|
15 | <img src="{staticurl}hglogo.png" alt="mercurial" /></a> | |
16 | </div> |
|
16 | </div> | |
17 | <ul> |
|
17 | <ul> | |
18 | <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li> |
|
18 | <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li> | |
19 | <li class="active">graph</li> |
|
19 | <li class="active">graph</li> | |
20 | <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li> |
|
20 | <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li> | |
21 | <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> |
|
21 | <li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> | |
22 | <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li> |
|
22 | <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li> | |
23 | </ul> |
|
23 | </ul> | |
24 | <ul> |
|
24 | <ul> | |
25 | <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li> |
|
25 | <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li> | |
26 | <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> |
|
26 | <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> | |
27 | </ul> |
|
27 | </ul> | |
28 | <ul> |
|
28 | <ul> | |
29 | <li><a href="{url}help{sessionvars%urlparameter}">help</a></li> |
|
29 | <li><a href="{url}help{sessionvars%urlparameter}">help</a></li> | |
30 | </ul> |
|
30 | </ul> | |
31 | </div> |
|
31 | </div> | |
32 |
|
32 | |||
33 | <div class="main"> |
|
33 | <div class="main"> | |
34 | <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2> |
|
34 | <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2> | |
35 | <h3>graph</h3> |
|
35 | <h3>graph</h3> | |
36 |
|
36 | |||
37 | <form class="search" action="{url}log"> |
|
37 | <form class="search" action="{url}log"> | |
38 | {sessionvars%hiddenformentry} |
|
38 | {sessionvars%hiddenformentry} | |
39 | <p><input name="rev" id="search1" type="text" size="30" /></p> |
|
39 | <p><input name="rev" id="search1" type="text" size="30" /></p> | |
40 | <div id="hint">find changesets by author, revision, |
|
40 | <div id="hint">find changesets by author, revision, | |
41 | files, or words in the commit message</div> |
|
41 | files, or words in the commit message</div> | |
42 | </form> |
|
42 | </form> | |
43 |
|
43 | |||
44 | <div class="navigate"> |
|
44 | <div class="navigate"> | |
45 | <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a> |
|
45 | <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a> | |
46 | <a href="{url}graph/{rev}{morevars%urlparameter}">more</a> |
|
46 | <a href="{url}graph/{rev}{morevars%urlparameter}">more</a> | |
47 | | rev {rev}: {changenav%navgraph} |
|
47 | | rev {rev}: {changenav%navgraph} | |
48 | </div> |
|
48 | </div> | |
49 |
|
49 | |||
50 | <noscript><p>The revision graph only works with JavaScript-enabled browsers.</p></noscript> |
|
50 | <noscript><p>The revision graph only works with JavaScript-enabled browsers.</p></noscript> | |
51 |
|
51 | |||
52 | <div id="wrapper"> |
|
52 | <div id="wrapper"> | |
53 | <ul id="nodebgs"></ul> |
|
53 | <ul id="nodebgs"></ul> | |
54 |
<canvas id="graph" width=" |
|
54 | <canvas id="graph" width="480" height="{canvasheight}"></canvas> | |
55 | <ul id="graphnodes"></ul> |
|
55 | <ul id="graphnodes"></ul> | |
56 | </div> |
|
56 | </div> | |
57 |
|
57 | |||
58 | <script type="text/javascript" src="{staticurl}graph.js"></script> |
|
58 | <script type="text/javascript" src="{staticurl}graph.js"></script> | |
59 | <script type="text/javascript"> |
|
59 | <script type="text/javascript"> | |
60 | <!-- hide script content |
|
60 | <!-- hide script content | |
61 |
|
61 | |||
62 | var data = {jsdata|json}; |
|
62 | var data = {jsdata|json}; | |
63 | var graph = new Graph(); |
|
63 | var graph = new Graph(); | |
64 | graph.scale({bg_height}); |
|
64 | graph.scale({bg_height}); | |
65 |
|
65 | |||
66 | graph.edge = function(x0, y0, x1, y1, color) \{ |
|
66 | graph.edge = function(x0, y0, x1, y1, color) \{ | |
67 |
|
67 | |||
68 | this.setColor(color, 0.0, 0.65); |
|
68 | this.setColor(color, 0.0, 0.65); | |
69 | this.ctx.beginPath(); |
|
69 | this.ctx.beginPath(); | |
70 | this.ctx.moveTo(x0, y0); |
|
70 | this.ctx.moveTo(x0, y0); | |
71 | this.ctx.lineTo(x1, y1); |
|
71 | this.ctx.lineTo(x1, y1); | |
72 | this.ctx.stroke(); |
|
72 | this.ctx.stroke(); | |
73 |
|
73 | |||
74 | } |
|
74 | } | |
75 |
|
75 | |||
76 | var revlink = '<li style="_STYLE"><span class="desc">'; |
|
76 | var revlink = '<li style="_STYLE"><span class="desc">'; | |
77 | revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>'; |
|
77 | revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>'; | |
78 | revlink += '</span>_TAGS<span class="info">_DATE, by _USER</span></li>'; |
|
78 | revlink += '</span>_TAGS<span class="info">_DATE, by _USER</span></li>'; | |
79 |
|
79 | |||
80 | graph.vertex = function(x, y, color, parity, cur) \{ |
|
80 | graph.vertex = function(x, y, color, parity, cur) \{ | |
81 |
|
81 | |||
82 | this.ctx.beginPath(); |
|
82 | this.ctx.beginPath(); | |
83 | color = this.setColor(color, 0.25, 0.75); |
|
83 | color = this.setColor(color, 0.25, 0.75); | |
84 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); |
|
84 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); | |
85 | this.ctx.fill(); |
|
85 | this.ctx.fill(); | |
86 |
|
86 | |||
87 | var bg = '<li class="bg parity' + parity + '"></li>'; |
|
87 | var bg = '<li class="bg parity' + parity + '"></li>'; | |
88 | var left = (this.columns + 1) * this.bg_height; |
|
88 | var left = (this.columns + 1) * this.bg_height; | |
89 | var nstyle = 'padding-left: ' + left + 'px;'; |
|
89 | var nstyle = 'padding-left: ' + left + 'px;'; | |
90 | var item = revlink.replace(/_STYLE/, nstyle); |
|
90 | var item = revlink.replace(/_STYLE/, nstyle); | |
91 | item = item.replace(/_PARITY/, 'parity' + parity); |
|
91 | item = item.replace(/_PARITY/, 'parity' + parity); | |
92 | item = item.replace(/_NODEID/, cur[0]); |
|
92 | item = item.replace(/_NODEID/, cur[0]); | |
93 | item = item.replace(/_NODEID/, cur[0]); |
|
93 | item = item.replace(/_NODEID/, cur[0]); | |
94 | item = item.replace(/_DESC/, cur[3]); |
|
94 | item = item.replace(/_DESC/, cur[3]); | |
95 | item = item.replace(/_USER/, cur[4]); |
|
95 | item = item.replace(/_USER/, cur[4]); | |
96 | item = item.replace(/_DATE/, cur[5]); |
|
96 | item = item.replace(/_DATE/, cur[5]); | |
97 |
|
97 | |||
98 | var tagspan = ''; |
|
98 | var tagspan = ''; | |
99 | if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) \{ |
|
99 | if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) \{ | |
100 | tagspan = '<span class="logtags">'; |
|
100 | tagspan = '<span class="logtags">'; | |
101 | if (cur[6][1]) \{ |
|
101 | if (cur[6][1]) \{ | |
102 | tagspan += '<span class="branchhead" title="' + cur[6][0] + '">'; |
|
102 | tagspan += '<span class="branchhead" title="' + cur[6][0] + '">'; | |
103 | tagspan += cur[6][0] + '</span> '; |
|
103 | tagspan += cur[6][0] + '</span> '; | |
104 | } else if (!cur[6][1] && cur[6][0] != 'default') \{ |
|
104 | } else if (!cur[6][1] && cur[6][0] != 'default') \{ | |
105 | tagspan += '<span class="branchname" title="' + cur[6][0] + '">'; |
|
105 | tagspan += '<span class="branchname" title="' + cur[6][0] + '">'; | |
106 | tagspan += cur[6][0] + '</span> '; |
|
106 | tagspan += cur[6][0] + '</span> '; | |
107 | } |
|
107 | } | |
108 | if (cur[7].length) \{ |
|
108 | if (cur[7].length) \{ | |
109 | for (var t in cur[7]) \{ |
|
109 | for (var t in cur[7]) \{ | |
110 | var tag = cur[7][t]; |
|
110 | var tag = cur[7][t]; | |
111 | tagspan += '<span class="tag">' + tag + '</span> '; |
|
111 | tagspan += '<span class="tag">' + tag + '</span> '; | |
112 | } |
|
112 | } | |
113 | } |
|
113 | } | |
114 | if (cur[8].length) \{ |
|
114 | if (cur[8].length) \{ | |
115 | for (var b in cur[8]) \{ |
|
115 | for (var b in cur[8]) \{ | |
116 | var bookmark = cur[8][b]; |
|
116 | var bookmark = cur[8][b]; | |
117 | tagspan += '<span class="tag">' + bookmark + '</span> '; |
|
117 | tagspan += '<span class="tag">' + bookmark + '</span> '; | |
118 | } |
|
118 | } | |
119 | } |
|
119 | } | |
120 | tagspan += '</span>'; |
|
120 | tagspan += '</span>'; | |
121 | } |
|
121 | } | |
122 |
|
122 | |||
123 | item = item.replace(/_TAGS/, tagspan); |
|
123 | item = item.replace(/_TAGS/, tagspan); | |
124 | return [bg, item]; |
|
124 | return [bg, item]; | |
125 |
|
125 | |||
126 | } |
|
126 | } | |
127 |
|
127 | |||
128 | graph.render(data); |
|
128 | graph.render(data); | |
129 |
|
129 | |||
130 | // stop hiding script --> |
|
130 | // stop hiding script --> | |
131 | </script> |
|
131 | </script> | |
132 |
|
132 | |||
133 | <div class="navigate"> |
|
133 | <div class="navigate"> | |
134 | <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a> |
|
134 | <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a> | |
135 | <a href="{url}graph/{rev}{morevars%urlparameter}">more</a> |
|
135 | <a href="{url}graph/{rev}{morevars%urlparameter}">more</a> | |
136 | | rev {rev}: {changenav%navgraph} |
|
136 | | rev {rev}: {changenav%navgraph} | |
137 | </div> |
|
137 | </div> | |
138 |
|
138 | |||
139 | </div> |
|
139 | </div> | |
140 | </div> |
|
140 | </div> | |
141 |
|
141 | |||
142 | {footer} |
|
142 | {footer} |
@@ -1,97 +1,97 b'' | |||||
1 | {header} |
|
1 | {header} | |
2 | <title>{repo|escape}: graph</title> |
|
2 | <title>{repo|escape}: graph</title> | |
3 | <link rel="alternate" type="application/atom+xml" |
|
3 | <link rel="alternate" type="application/atom+xml" | |
4 | href="{url}atom-tags" title="Atom feed for {repo|escape}: tags"> |
|
4 | href="{url}atom-tags" title="Atom feed for {repo|escape}: tags"> | |
5 | <link rel="alternate" type="application/rss+xml" |
|
5 | <link rel="alternate" type="application/rss+xml" | |
6 | href="{url}rss-tags" title="RSS feed for {repo|escape}: tags"> |
|
6 | href="{url}rss-tags" title="RSS feed for {repo|escape}: tags"> | |
7 | <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]--> |
|
7 | <!--[if IE]><script type="text/javascript" src="{staticurl}excanvas.js"></script><![endif]--> | |
8 | </head> |
|
8 | </head> | |
9 | <body> |
|
9 | <body> | |
10 |
|
10 | |||
11 | <div class="buttons"> |
|
11 | <div class="buttons"> | |
12 | <a href="{url}log{sessionvars%urlparameter}">changelog</a> |
|
12 | <a href="{url}log{sessionvars%urlparameter}">changelog</a> | |
13 | <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> |
|
13 | <a href="{url}shortlog{sessionvars%urlparameter}">shortlog</a> | |
14 | <a href="{url}tags{sessionvars%urlparameter}">tags</a> |
|
14 | <a href="{url}tags{sessionvars%urlparameter}">tags</a> | |
15 | <a href="{url}branches{sessionvars%urlparameter}">branches</a> |
|
15 | <a href="{url}branches{sessionvars%urlparameter}">branches</a> | |
16 | <a href="{url}file/{node|short}/{sessionvars%urlparameter}">files</a> |
|
16 | <a href="{url}file/{node|short}/{sessionvars%urlparameter}">files</a> | |
17 | <a href="{url}help{sessionvars%urlparameter}">help</a> |
|
17 | <a href="{url}help{sessionvars%urlparameter}">help</a> | |
18 | </div> |
|
18 | </div> | |
19 |
|
19 | |||
20 | <h2>graph</h2> |
|
20 | <h2>graph</h2> | |
21 |
|
21 | |||
22 | <form action="{url}log"> |
|
22 | <form action="{url}log"> | |
23 | {sessionvars%hiddenformentry} |
|
23 | {sessionvars%hiddenformentry} | |
24 | <p> |
|
24 | <p> | |
25 | <label for="search1">search:</label> |
|
25 | <label for="search1">search:</label> | |
26 | <input name="rev" id="search1" type="text" size="30"> |
|
26 | <input name="rev" id="search1" type="text" size="30"> | |
27 | navigate: <small class="navigate">{changenav%navgraph}</small> |
|
27 | navigate: <small class="navigate">{changenav%navgraph}</small> | |
28 | </p> |
|
28 | </p> | |
29 | </form> |
|
29 | </form> | |
30 |
|
30 | |||
31 | <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript> |
|
31 | <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript> | |
32 |
|
32 | |||
33 | <div id="wrapper"> |
|
33 | <div id="wrapper"> | |
34 | <ul id="nodebgs"></ul> |
|
34 | <ul id="nodebgs"></ul> | |
35 |
<canvas id="graph" width=" |
|
35 | <canvas id="graph" width="480" height="{canvasheight}"></canvas> | |
36 | <ul id="graphnodes"></ul> |
|
36 | <ul id="graphnodes"></ul> | |
37 | </div> |
|
37 | </div> | |
38 |
|
38 | |||
39 | <script type="text/javascript" src="{staticurl}graph.js"></script> |
|
39 | <script type="text/javascript" src="{staticurl}graph.js"></script> | |
40 | <script type="text/javascript"> |
|
40 | <script type="text/javascript"> | |
41 | <!-- hide script content |
|
41 | <!-- hide script content | |
42 |
|
42 | |||
43 | var data = {jsdata|json}; |
|
43 | var data = {jsdata|json}; | |
44 | var graph = new Graph(); |
|
44 | var graph = new Graph(); | |
45 | graph.scale({bg_height}); |
|
45 | graph.scale({bg_height}); | |
46 |
|
46 | |||
47 | graph.edge = function(x0, y0, x1, y1, color) \{ |
|
47 | graph.edge = function(x0, y0, x1, y1, color) \{ | |
48 |
|
48 | |||
49 | this.setColor(color, 0.0, 0.65); |
|
49 | this.setColor(color, 0.0, 0.65); | |
50 | this.ctx.beginPath(); |
|
50 | this.ctx.beginPath(); | |
51 | this.ctx.moveTo(x0, y0); |
|
51 | this.ctx.moveTo(x0, y0); | |
52 | this.ctx.lineTo(x1, y1); |
|
52 | this.ctx.lineTo(x1, y1); | |
53 | this.ctx.stroke(); |
|
53 | this.ctx.stroke(); | |
54 |
|
54 | |||
55 | } |
|
55 | } | |
56 |
|
56 | |||
57 | var revlink = '<li style="_STYLE"><span class="desc">'; |
|
57 | var revlink = '<li style="_STYLE"><span class="desc">'; | |
58 | revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>'; |
|
58 | revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>'; | |
59 | revlink += '</span><span class="info">_DATE, by _USER</span></li>'; |
|
59 | revlink += '</span><span class="info">_DATE, by _USER</span></li>'; | |
60 |
|
60 | |||
61 | graph.vertex = function(x, y, color, parity, cur) \{ |
|
61 | graph.vertex = function(x, y, color, parity, cur) \{ | |
62 |
|
62 | |||
63 | this.ctx.beginPath(); |
|
63 | this.ctx.beginPath(); | |
64 | color = this.setColor(color, 0.25, 0.75); |
|
64 | color = this.setColor(color, 0.25, 0.75); | |
65 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); |
|
65 | this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); | |
66 | this.ctx.fill(); |
|
66 | this.ctx.fill(); | |
67 |
|
67 | |||
68 | var bg = '<li class="bg parity' + parity + '"></li>'; |
|
68 | var bg = '<li class="bg parity' + parity + '"></li>'; | |
69 | var left = (this.columns + 1) * this.bg_height; |
|
69 | var left = (this.columns + 1) * this.bg_height; | |
70 | var nstyle = 'padding-left: ' + left + 'px;'; |
|
70 | var nstyle = 'padding-left: ' + left + 'px;'; | |
71 | var item = revlink.replace(/_STYLE/, nstyle); |
|
71 | var item = revlink.replace(/_STYLE/, nstyle); | |
72 | item = item.replace(/_PARITY/, 'parity' + parity); |
|
72 | item = item.replace(/_PARITY/, 'parity' + parity); | |
73 | item = item.replace(/_NODEID/, cur[0]); |
|
73 | item = item.replace(/_NODEID/, cur[0]); | |
74 | item = item.replace(/_NODEID/, cur[0]); |
|
74 | item = item.replace(/_NODEID/, cur[0]); | |
75 | item = item.replace(/_DESC/, cur[3]); |
|
75 | item = item.replace(/_DESC/, cur[3]); | |
76 | item = item.replace(/_USER/, cur[4]); |
|
76 | item = item.replace(/_USER/, cur[4]); | |
77 | item = item.replace(/_DATE/, cur[5]); |
|
77 | item = item.replace(/_DATE/, cur[5]); | |
78 |
|
78 | |||
79 | return [bg, item]; |
|
79 | return [bg, item]; | |
80 |
|
80 | |||
81 | } |
|
81 | } | |
82 |
|
82 | |||
83 | graph.render(data); |
|
83 | graph.render(data); | |
84 |
|
84 | |||
85 | // stop hiding script --> |
|
85 | // stop hiding script --> | |
86 | </script> |
|
86 | </script> | |
87 |
|
87 | |||
88 | <form action="{url}log"> |
|
88 | <form action="{url}log"> | |
89 | {sessionvars%hiddenformentry} |
|
89 | {sessionvars%hiddenformentry} | |
90 | <p> |
|
90 | <p> | |
91 | <label for="search1">search:</label> |
|
91 | <label for="search1">search:</label> | |
92 | <input name="rev" id="search1" type="text" size="30"> |
|
92 | <input name="rev" id="search1" type="text" size="30"> | |
93 | navigate: <small class="navigate">{changenav%navgraph}</small> |
|
93 | navigate: <small class="navigate">{changenav%navgraph}</small> | |
94 | </p> |
|
94 | </p> | |
95 | </form> |
|
95 | </form> | |
96 |
|
96 | |||
97 | {footer} |
|
97 | {footer} |
General Comments 0
You need to be logged in to leave comments.
Login now