##// END OF EJS Templates
Merge with stable
Martin Geisler -
r10278:6134adc1 merge default
parent child Browse files
Show More
@@ -1,196 +1,196 b''
1 default = 'shortlog'
1 default = 'shortlog'
2
2
3 mimetype = 'text/html; charset={encoding}'
3 mimetype = 'text/html; charset={encoding}'
4 header = header.tmpl
4 header = header.tmpl
5 footer = ../paper/footer.tmpl
5 footer = ../paper/footer.tmpl
6 search = ../paper/search.tmpl
6 search = ../paper/search.tmpl
7
7
8 changelog = ../paper/shortlog.tmpl
8 changelog = ../paper/shortlog.tmpl
9 shortlog = ../paper/shortlog.tmpl
9 shortlog = ../paper/shortlog.tmpl
10 shortlogentry = ../paper/shortlogentry.tmpl
10 shortlogentry = ../paper/shortlogentry.tmpl
11 graph = ../paper/graph.tmpl
11 graph = ../paper/graph.tmpl
12
12
13 naventry = '<a href="{url}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
13 naventry = '<a href="{url}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
14 navshortentry = '<a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
14 navshortentry = '<a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
15 navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
15 navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
16 filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> '
16 filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> '
17 filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
17 filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
18 filenodelink = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
18 filenodelink = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
19 filenolink = '{file|escape} '
19 filenolink = '{file|escape} '
20 fileellipses = '...'
20 fileellipses = '...'
21 changelogentry = ../paper/shortlogentry.tmpl
21 changelogentry = ../paper/shortlogentry.tmpl
22 searchentry = ../paper/shortlogentry.tmpl
22 searchentry = ../paper/shortlogentry.tmpl
23 changeset = ../paper/changeset.tmpl
23 changeset = ../paper/changeset.tmpl
24 manifest = ../paper/manifest.tmpl
24 manifest = ../paper/manifest.tmpl
25
25
26 nav = '{before%naventry} {after%naventry}'
26 nav = '{before%naventry} {after%naventry}'
27 navshort = '{before%navshortentry}{after%navshortentry}'
27 navshort = '{before%navshortentry}{after%navshortentry}'
28 navgraph = '{before%navgraphentry}{after%navgraphentry}'
28 navgraph = '{before%navgraphentry}{after%navgraphentry}'
29 filenav = '{before%filenaventry}{after%filenaventry}'
29 filenav = '{before%filenaventry}{after%filenaventry}'
30
30
31 direntry = '
31 direntry = '
32 <tr class="fileline parity{parity}">
32 <tr class="fileline parity{parity}">
33 <td class="name">
33 <td class="name">
34 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">
34 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">
35 <img src="{staticurl}coal-folder.png" alt="dir."/> {basename|escape}/
35 <img src="{staticurl}coal-folder.png" alt="dir."/> {basename|escape}/
36 </a>
36 </a>
37 <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">
37 <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">
38 {emptydirs|escape}
38 {emptydirs|escape}
39 </a>
39 </a>
40 </td>
40 </td>
41 <td class="size"></td>
41 <td class="size"></td>
42 <td class="permissions">drwxr-xr-x</td>
42 <td class="permissions">drwxr-xr-x</td>
43 </tr>'
43 </tr>'
44
44
45 fileentry = '
45 fileentry = '
46 <tr class="fileline parity{parity}">
46 <tr class="fileline parity{parity}">
47 <td class="filename">
47 <td class="filename">
48 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
48 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
49 <img src="{staticurl}coal-file.png" alt="file"/> {basename|escape}
49 <img src="{staticurl}coal-file.png" alt="file"/> {basename|escape}
50 </a>
50 </a>
51 </td>
51 </td>
52 <td class="size">{size}</td>
52 <td class="size">{size}</td>
53 <td class="permissions">{permissions|permissions}</td>
53 <td class="permissions">{permissions|permissions}</td>
54 </tr>'
54 </tr>'
55
55
56 filerevision = ../paper/filerevision.tmpl
56 filerevision = ../paper/filerevision.tmpl
57 fileannotate = ../paper/fileannotate.tmpl
57 fileannotate = ../paper/fileannotate.tmpl
58 filediff = ../paper/filediff.tmpl
58 filediff = ../paper/filediff.tmpl
59 filelog = ../paper/filelog.tmpl
59 filelog = ../paper/filelog.tmpl
60 fileline = '
60 fileline = '
61 <div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
61 <div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
62 filelogentry = ../paper/filelogentry.tmpl
62 filelogentry = ../paper/filelogentry.tmpl
63
63
64 annotateline = '
64 annotateline = '
65 <tr class="parity{parity}">
65 <tr class="parity{parity}">
66 <td class="annotate">
66 <td class="annotate">
67 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}"
67 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}"
68 title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
68 title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
69 </td>
69 </td>
70 <td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td>
70 <td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td>
71 </tr>'
71 </tr>'
72
72
73 diffblock = '<div class="source bottomline parity{parity}"><pre>{lines}</pre></div>'
73 diffblock = '<div class="source bottomline parity{parity}"><pre>{lines}</pre></div>'
74 difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
74 difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
75 difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
75 difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
76 difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
76 difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
77 diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
77 diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
78
78
79 changelogparent = '
79 changelogparent = '
80 <tr>
80 <tr>
81 <th class="parent">parent {rev}:</th>
81 <th class="parent">parent {rev}:</th>
82 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
82 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
83 </tr>'
83 </tr>'
84
84
85 changesetparent = '<a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
85 changesetparent = '<a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
86
86
87 filerevparent = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> '
87 filerevparent = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> '
88 filerevchild = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> '
88 filerevchild = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> '
89
89
90 filerename = '{file|escape}@'
90 filerename = '{file|escape}@'
91 filelogrename = '
91 filelogrename = '
92 <tr>
92 <tr>
93 <th>base:</th>
93 <th>base:</th>
94 <td>
94 <td>
95 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
95 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
96 {file|escape}@{node|short}
96 {file|escape}@{node|short}
97 </a>
97 </a>
98 </td>
98 </td>
99 </tr>'
99 </tr>'
100 fileannotateparent = '
100 fileannotateparent = '
101 <tr>
101 <tr>
102 <td class="metatag">parent:</td>
102 <td class="metatag">parent:</td>
103 <td>
103 <td>
104 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
104 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
105 {rename%filerename}{node|short}
105 {rename%filerename}{node|short}
106 </a>
106 </a>
107 </td>
107 </td>
108 </tr>'
108 </tr>'
109 changesetchild = ' <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
109 changesetchild = ' <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
110 changelogchild = '
110 changelogchild = '
111 <tr>
111 <tr>
112 <th class="child">child</th>
112 <th class="child">child</th>
113 <td class="child">
113 <td class="child">
114 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
114 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
115 {node|short}
115 {node|short}
116 </a>
116 </a>
117 </td>
117 </td>
118 </tr>'
118 </tr>'
119 fileannotatechild = '
119 fileannotatechild = '
120 <tr>
120 <tr>
121 <td class="metatag">child:</td>
121 <td class="metatag">child:</td>
122 <td>
122 <td>
123 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
123 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
124 {node|short}
124 {node|short}
125 </a>
125 </a>
126 </td>
126 </td>
127 </tr>'
127 </tr>'
128 tags = ../paper/tags.tmpl
128 tags = ../paper/tags.tmpl
129 tagentry = '
129 tagentry = '
130 <tr class="tagEntry parity{parity}">
130 <tr class="tagEntry parity{parity}">
131 <td>
131 <td>
132 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
132 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">
133 {tag|escape}
133 {tag|escape}
134 </a>
134 </a>
135 </td>
135 </td>
136 <td class="node">
136 <td class="node">
137 {node|short}
137 {node|short}
138 </td>
138 </td>
139 </tr>'
139 </tr>'
140 branches = ../paper/branches.tmpl
140 branches = ../paper/branches.tmpl
141 branchentry = '
141 branchentry = '
142 <tr class="tagEntry parity{parity}">
142 <tr class="tagEntry parity{parity}">
143 <td>
143 <td>
144 <a href="{url}shortlog/{node|short}{sessionvars%urlparameter}" class="{status}">
144 <a href="{url}shortlog/{node|short}{sessionvars%urlparameter}" class="{status}">
145 {branch|escape}
145 {branch|escape}
146 </a>
146 </a>
147 </td>
147 </td>
148 <td class="node">
148 <td class="node">
149 {node|short}
149 {node|short}
150 </td>
150 </td>
151 </tr>'
151 </tr>'
152 changelogtag = '<span class="tag">{name|escape}</span> '
152 changelogtag = '<span class="tag">{name|escape}</span> '
153 changesettag = '<span class="tag">{tag|escape}</span> '
153 changesettag = '<span class="tag">{tag|escape}</span> '
154 changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
154 changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
155 changelogbranchname = '<span class="branchname">{name|escape}</span> '
155 changelogbranchname = '<span class="branchname">{name|escape}</span> '
156
156
157 filediffparent = '
157 filediffparent = '
158 <tr>
158 <tr>
159 <th class="parent">parent {rev}:</th>
159 <th class="parent">parent {rev}:</th>
160 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
160 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
161 </tr>'
161 </tr>'
162 filelogparent = '
162 filelogparent = '
163 <tr>
163 <tr>
164 <th>parent {rev}:</th>
164 <th>parent {rev}:</th>
165 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
165 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
166 </tr>'
166 </tr>'
167 filediffchild = '
167 filediffchild = '
168 <tr>
168 <tr>
169 <th class="child">child {rev}:</th>
169 <th class="child">child {rev}:</th>
170 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
170 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
171 </td>
171 </td>
172 </tr>'
172 </tr>'
173 filelogchild = '
173 filelogchild = '
174 <tr>
174 <tr>
175 <th>child {rev}:</th>
175 <th>child {rev}:</th>
176 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
176 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
177 </tr>'
177 </tr>'
178
178
179 indexentry = '
179 indexentry = '
180 <tr class="parity{parity}">
180 <tr class="parity{parity}">
181 <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
181 <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
182 <td>{description}</td>
182 <td>{description}</td>
183 <td>{contact|obfuscate}</td>
183 <td>{contact|obfuscate}</td>
184 <td class="age">{lastchange|age} ago</td>
184 <td class="age">{lastchange|age}</td>
185 <td class="indexlinks">{archives%indexarchiveentry}</td>
185 <td class="indexlinks">{archives%indexarchiveentry}</td>
186 </tr>\n'
186 </tr>\n'
187 indexarchiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
187 indexarchiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
188 index = ../paper/index.tmpl
188 index = ../paper/index.tmpl
189 archiveentry = '
189 archiveentry = '
190 <li>
190 <li>
191 <a href="{url}archive/{node|short}{extension|urlescape}">{type|escape}</a>
191 <a href="{url}archive/{node|short}{extension|urlescape}">{type|escape}</a>
192 </li>'
192 </li>'
193 notfound = ../paper/notfound.tmpl
193 notfound = ../paper/notfound.tmpl
194 error = ../paper/error.tmpl
194 error = ../paper/error.tmpl
195 urlparameter = '{separator}{name}={value|urlescape}'
195 urlparameter = '{separator}{name}={value|urlescape}'
196 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
196 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
@@ -1,121 +1,121 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 <br/>
29 <br/>
30 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
30 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
31 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
31 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
32 | {changenav%navgraph}<br/>
32 | {changenav%navgraph}<br/>
33 </div>
33 </div>
34
34
35 <div class="title">&nbsp;</div>
35 <div class="title">&nbsp;</div>
36
36
37 <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>
37 <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>
38
38
39 <div id="wrapper">
39 <div id="wrapper">
40 <ul id="nodebgs"></ul>
40 <ul id="nodebgs"></ul>
41 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
41 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
42 <ul id="graphnodes"></ul>
42 <ul id="graphnodes"></ul>
43 </div>
43 </div>
44
44
45 <script type="text/javascript" src="{staticurl}graph.js"></script>
45 <script type="text/javascript" src="{staticurl}graph.js"></script>
46 <script>
46 <script>
47 <!-- hide script content
47 <!-- hide script content
48
48
49 var data = {jsdata|json};
49 var data = {jsdata|json};
50 var graph = new Graph();
50 var graph = new Graph();
51 graph.scale({bg_height});
51 graph.scale({bg_height});
52
52
53 graph.edge = function(x0, y0, x1, y1, color) {
53 graph.edge = function(x0, y0, x1, y1, color) {
54
54
55 this.setColor(color, 0.0, 0.65);
55 this.setColor(color, 0.0, 0.65);
56 this.ctx.beginPath();
56 this.ctx.beginPath();
57 this.ctx.moveTo(x0, y0);
57 this.ctx.moveTo(x0, y0);
58 this.ctx.lineTo(x1, y1);
58 this.ctx.lineTo(x1, y1);
59 this.ctx.stroke();
59 this.ctx.stroke();
60
60
61 }
61 }
62
62
63 var revlink = '<li style="_STYLE"><span class="desc">';
63 var revlink = '<li style="_STYLE"><span class="desc">';
64 revlink += '<a class="list" href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID"><b>_DESC</b></a>';
64 revlink += '<a class="list" href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID"><b>_DESC</b></a>';
65 revlink += '</span> _TAGS';
65 revlink += '</span> _TAGS';
66 revlink += '<span class="info">_DATE ago, by _USER</span></li>';
66 revlink += '<span class="info">_DATE, by _USER</span></li>';
67
67
68 graph.vertex = function(x, y, color, parity, cur) {
68 graph.vertex = function(x, y, color, parity, cur) {
69
69
70 this.ctx.beginPath();
70 this.ctx.beginPath();
71 color = this.setColor(color, 0.25, 0.75);
71 color = this.setColor(color, 0.25, 0.75);
72 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
72 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
73 this.ctx.fill();
73 this.ctx.fill();
74
74
75 var bg = '<li class="bg parity' + parity + '"></li>';
75 var bg = '<li class="bg parity' + parity + '"></li>';
76 var left = (this.columns + 1) * this.bg_height;
76 var left = (this.columns + 1) * this.bg_height;
77 var nstyle = 'padding-left: ' + left + 'px;';
77 var nstyle = 'padding-left: ' + left + 'px;';
78 var item = revlink.replace(/_STYLE/, nstyle);
78 var item = revlink.replace(/_STYLE/, nstyle);
79 item = item.replace(/_PARITY/, 'parity' + parity);
79 item = item.replace(/_PARITY/, 'parity' + parity);
80 item = item.replace(/_NODEID/, cur[0]);
80 item = item.replace(/_NODEID/, cur[0]);
81 item = item.replace(/_NODEID/, cur[0]);
81 item = item.replace(/_NODEID/, cur[0]);
82 item = item.replace(/_DESC/, cur[3]);
82 item = item.replace(/_DESC/, cur[3]);
83 item = item.replace(/_USER/, cur[4]);
83 item = item.replace(/_USER/, cur[4]);
84 item = item.replace(/_DATE/, cur[5]);
84 item = item.replace(/_DATE/, cur[5]);
85
85
86 var tagspan = '';
86 var tagspan = '';
87 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
87 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
88 tagspan = '<span class="logtags">';
88 tagspan = '<span class="logtags">';
89 if (cur[6][1]) {
89 if (cur[6][1]) {
90 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
90 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
91 tagspan += cur[6][0] + '</span> ';
91 tagspan += cur[6][0] + '</span> ';
92 } else if (!cur[6][1] && cur[6][0] != 'default') {
92 } else if (!cur[6][1] && cur[6][0] != 'default') {
93 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
93 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
94 tagspan += cur[6][0] + '</span> ';
94 tagspan += cur[6][0] + '</span> ';
95 }
95 }
96 if (cur[7].length) {
96 if (cur[7].length) {
97 for (var t in cur[7]) {
97 for (var t in cur[7]) {
98 var tag = cur[7][t];
98 var tag = cur[7][t];
99 tagspan += '<span class="tagtag">' + tag + '</span> ';
99 tagspan += '<span class="tagtag">' + tag + '</span> ';
100 }
100 }
101 }
101 }
102 tagspan += '</span>';
102 tagspan += '</span>';
103 }
103 }
104
104
105 item = item.replace(/_TAGS/, tagspan);
105 item = item.replace(/_TAGS/, tagspan);
106 return [bg, item];
106 return [bg, item];
107
107
108 }
108 }
109
109
110 graph.render(data);
110 graph.render(data);
111
111
112 // stop hiding script -->
112 // stop hiding script -->
113 </script>
113 </script>
114
114
115 <div class="page_nav">
115 <div class="page_nav">
116 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
116 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
117 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
117 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
118 | {changenav%navgraph}
118 | {changenav%navgraph}
119 </div>
119 </div>
120
120
121 {footer}
121 {footer}
@@ -1,118 +1,118 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 </ul>
29 </ul>
30 </div>
30 </div>
31
31
32 <h2 class="no-link no-border">graph</h2>
32 <h2 class="no-link no-border">graph</h2>
33
33
34 <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div>
34 <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div>
35 <div id="wrapper">
35 <div id="wrapper">
36 <ul id="nodebgs"></ul>
36 <ul id="nodebgs"></ul>
37 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
37 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
38 <ul id="graphnodes"></ul>
38 <ul id="graphnodes"></ul>
39 </div>
39 </div>
40
40
41 <script type="text/javascript" src="{staticurl}graph.js"></script>
41 <script type="text/javascript" src="{staticurl}graph.js"></script>
42 <script>
42 <script>
43 <!-- hide script content
43 <!-- hide script content
44
44
45 document.getElementById('noscript').style.display = 'none';
45 document.getElementById('noscript').style.display = 'none';
46
46
47 var data = {jsdata|json};
47 var data = {jsdata|json};
48 var graph = new Graph();
48 var graph = new Graph();
49 graph.scale({bg_height});
49 graph.scale({bg_height});
50
50
51 graph.edge = function(x0, y0, x1, y1, color) {
51 graph.edge = function(x0, y0, x1, y1, color) {
52
52
53 this.setColor(color, 0.0, 0.65);
53 this.setColor(color, 0.0, 0.65);
54 this.ctx.beginPath();
54 this.ctx.beginPath();
55 this.ctx.moveTo(x0, y0);
55 this.ctx.moveTo(x0, y0);
56 this.ctx.lineTo(x1, y1);
56 this.ctx.lineTo(x1, y1);
57 this.ctx.stroke();
57 this.ctx.stroke();
58
58
59 }
59 }
60
60
61 var revlink = '<li style="_STYLE"><span class="desc">';
61 var revlink = '<li style="_STYLE"><span class="desc">';
62 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
62 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
63 revlink += '</span>_TAGS<span class="info">_DATE ago, by _USER</span></li>';
63 revlink += '</span>_TAGS<span class="info">_DATE, by _USER</span></li>';
64
64
65 graph.vertex = function(x, y, color, parity, cur) {
65 graph.vertex = function(x, y, color, parity, cur) {
66
66
67 this.ctx.beginPath();
67 this.ctx.beginPath();
68 color = this.setColor(color, 0.25, 0.75);
68 color = this.setColor(color, 0.25, 0.75);
69 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
69 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
70 this.ctx.fill();
70 this.ctx.fill();
71
71
72 var bg = '<li class="bg parity' + parity + '"></li>';
72 var bg = '<li class="bg parity' + parity + '"></li>';
73 var left = (this.columns + 1) * this.bg_height;
73 var left = (this.columns + 1) * this.bg_height;
74 var nstyle = 'padding-left: ' + left + 'px;';
74 var nstyle = 'padding-left: ' + left + 'px;';
75 var item = revlink.replace(/_STYLE/, nstyle);
75 var item = revlink.replace(/_STYLE/, nstyle);
76 item = item.replace(/_PARITY/, 'parity' + parity);
76 item = item.replace(/_PARITY/, 'parity' + parity);
77 item = item.replace(/_NODEID/, cur[0]);
77 item = item.replace(/_NODEID/, cur[0]);
78 item = item.replace(/_NODEID/, cur[0]);
78 item = item.replace(/_NODEID/, cur[0]);
79 item = item.replace(/_DESC/, cur[3]);
79 item = item.replace(/_DESC/, cur[3]);
80 item = item.replace(/_USER/, cur[4]);
80 item = item.replace(/_USER/, cur[4]);
81 item = item.replace(/_DATE/, cur[5]);
81 item = item.replace(/_DATE/, cur[5]);
82
82
83 var tagspan = '';
83 var tagspan = '';
84 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
84 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
85 tagspan = '<span class="logtags">';
85 tagspan = '<span class="logtags">';
86 if (cur[6][1]) {
86 if (cur[6][1]) {
87 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
87 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
88 tagspan += cur[6][0] + '</span> ';
88 tagspan += cur[6][0] + '</span> ';
89 } else if (!cur[6][1] && cur[6][0] != 'default') {
89 } else if (!cur[6][1] && cur[6][0] != 'default') {
90 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
90 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
91 tagspan += cur[6][0] + '</span> ';
91 tagspan += cur[6][0] + '</span> ';
92 }
92 }
93 if (cur[7].length) {
93 if (cur[7].length) {
94 for (var t in cur[7]) {
94 for (var t in cur[7]) {
95 var tag = cur[7][t];
95 var tag = cur[7][t];
96 tagspan += '<span class="tagtag">' + tag + '</span> ';
96 tagspan += '<span class="tagtag">' + tag + '</span> ';
97 }
97 }
98 }
98 }
99 tagspan += '</span>';
99 tagspan += '</span>';
100 }
100 }
101
101
102 item = item.replace(/_TAGS/, tagspan);
102 item = item.replace(/_TAGS/, tagspan);
103 return [bg, item];
103 return [bg, item];
104
104
105 }
105 }
106
106
107 graph.render(data);
107 graph.render(data);
108
108
109 // stop hiding script -->
109 // stop hiding script -->
110 </script>
110 </script>
111
111
112 <div class="page-path">
112 <div class="page-path">
113 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
113 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
114 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
114 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
115 | {changenav%navgraph}
115 | {changenav%navgraph}
116 </div>
116 </div>
117
117
118 {footer}
118 {footer}
@@ -1,132 +1,132 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}branches{sessionvars%urlparameter}">branches</a></li>
21 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
22 </ul>
22 </ul>
23 <ul>
23 <ul>
24 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
24 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
25 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
25 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
26 </ul>
26 </ul>
27 </div>
27 </div>
28
28
29 <div class="main">
29 <div class="main">
30 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
30 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
31 <h3>graph</h3>
31 <h3>graph</h3>
32
32
33 <form class="search" action="{url}log">
33 <form class="search" action="{url}log">
34 {sessionvars%hiddenformentry}
34 {sessionvars%hiddenformentry}
35 <p><input name="rev" id="search1" type="text" size="30" /></p>
35 <p><input name="rev" id="search1" type="text" size="30" /></p>
36 <div id="hint">find changesets by author, revision,
36 <div id="hint">find changesets by author, revision,
37 files, or words in the commit message</div>
37 files, or words in the commit message</div>
38 </form>
38 </form>
39
39
40 <div class="navigate">
40 <div class="navigate">
41 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
41 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
42 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
42 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
43 | rev {rev}: {changenav%navgraph}
43 | rev {rev}: {changenav%navgraph}
44 </div>
44 </div>
45
45
46 <noscript><p>The revision graph only works with JavaScript-enabled browsers.</p></noscript>
46 <noscript><p>The revision graph only works with JavaScript-enabled browsers.</p></noscript>
47
47
48 <div id="wrapper">
48 <div id="wrapper">
49 <ul id="nodebgs"></ul>
49 <ul id="nodebgs"></ul>
50 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
50 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
51 <ul id="graphnodes"></ul>
51 <ul id="graphnodes"></ul>
52 </div>
52 </div>
53
53
54 <script type="text/javascript" src="{staticurl}graph.js"></script>
54 <script type="text/javascript" src="{staticurl}graph.js"></script>
55 <script type="text/javascript">
55 <script type="text/javascript">
56 <!-- hide script content
56 <!-- hide script content
57
57
58 var data = {jsdata|json};
58 var data = {jsdata|json};
59 var graph = new Graph();
59 var graph = new Graph();
60 graph.scale({bg_height});
60 graph.scale({bg_height});
61
61
62 graph.edge = function(x0, y0, x1, y1, color) {
62 graph.edge = function(x0, y0, x1, y1, color) {
63
63
64 this.setColor(color, 0.0, 0.65);
64 this.setColor(color, 0.0, 0.65);
65 this.ctx.beginPath();
65 this.ctx.beginPath();
66 this.ctx.moveTo(x0, y0);
66 this.ctx.moveTo(x0, y0);
67 this.ctx.lineTo(x1, y1);
67 this.ctx.lineTo(x1, y1);
68 this.ctx.stroke();
68 this.ctx.stroke();
69
69
70 }
70 }
71
71
72 var revlink = '<li style="_STYLE"><span class="desc">';
72 var revlink = '<li style="_STYLE"><span class="desc">';
73 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
73 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
74 revlink += '</span>_TAGS<span class="info">_DATE ago, by _USER</span></li>';
74 revlink += '</span>_TAGS<span class="info">_DATE, by _USER</span></li>';
75
75
76 graph.vertex = function(x, y, color, parity, cur) {
76 graph.vertex = function(x, y, color, parity, cur) {
77
77
78 this.ctx.beginPath();
78 this.ctx.beginPath();
79 color = this.setColor(color, 0.25, 0.75);
79 color = this.setColor(color, 0.25, 0.75);
80 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
80 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
81 this.ctx.fill();
81 this.ctx.fill();
82
82
83 var bg = '<li class="bg parity' + parity + '"></li>';
83 var bg = '<li class="bg parity' + parity + '"></li>';
84 var left = (this.columns + 1) * this.bg_height;
84 var left = (this.columns + 1) * this.bg_height;
85 var nstyle = 'padding-left: ' + left + 'px;';
85 var nstyle = 'padding-left: ' + left + 'px;';
86 var item = revlink.replace(/_STYLE/, nstyle);
86 var item = revlink.replace(/_STYLE/, nstyle);
87 item = item.replace(/_PARITY/, 'parity' + parity);
87 item = item.replace(/_PARITY/, 'parity' + parity);
88 item = item.replace(/_NODEID/, cur[0]);
88 item = item.replace(/_NODEID/, cur[0]);
89 item = item.replace(/_NODEID/, cur[0]);
89 item = item.replace(/_NODEID/, cur[0]);
90 item = item.replace(/_DESC/, cur[3]);
90 item = item.replace(/_DESC/, cur[3]);
91 item = item.replace(/_USER/, cur[4]);
91 item = item.replace(/_USER/, cur[4]);
92 item = item.replace(/_DATE/, cur[5]);
92 item = item.replace(/_DATE/, cur[5]);
93
93
94 var tagspan = '';
94 var tagspan = '';
95 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
95 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
96 tagspan = '<span class="logtags">';
96 tagspan = '<span class="logtags">';
97 if (cur[6][1]) {
97 if (cur[6][1]) {
98 tagspan += '<span class="branchhead" title="' + cur[6][0] + '">';
98 tagspan += '<span class="branchhead" title="' + cur[6][0] + '">';
99 tagspan += cur[6][0] + '</span> ';
99 tagspan += cur[6][0] + '</span> ';
100 } else if (!cur[6][1] && cur[6][0] != 'default') {
100 } else if (!cur[6][1] && cur[6][0] != 'default') {
101 tagspan += '<span class="branchname" title="' + cur[6][0] + '">';
101 tagspan += '<span class="branchname" title="' + cur[6][0] + '">';
102 tagspan += cur[6][0] + '</span> ';
102 tagspan += cur[6][0] + '</span> ';
103 }
103 }
104 if (cur[7].length) {
104 if (cur[7].length) {
105 for (var t in cur[7]) {
105 for (var t in cur[7]) {
106 var tag = cur[7][t];
106 var tag = cur[7][t];
107 tagspan += '<span class="tag">' + tag + '</span> ';
107 tagspan += '<span class="tag">' + tag + '</span> ';
108 }
108 }
109 }
109 }
110 tagspan += '</span>';
110 tagspan += '</span>';
111 }
111 }
112
112
113 item = item.replace(/_TAGS/, tagspan);
113 item = item.replace(/_TAGS/, tagspan);
114 return [bg, item];
114 return [bg, item];
115
115
116 }
116 }
117
117
118 graph.render(data);
118 graph.render(data);
119
119
120 // stop hiding script -->
120 // stop hiding script -->
121 </script>
121 </script>
122
122
123 <div class="navigate">
123 <div class="navigate">
124 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
124 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
125 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
125 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
126 | rev {rev}: {changenav%navgraph}
126 | rev {rev}: {changenav%navgraph}
127 </div>
127 </div>
128
128
129 </div>
129 </div>
130 </div>
130 </div>
131
131
132 {footer}
132 {footer}
@@ -1,96 +1,96 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 </div>
17 </div>
18
18
19 <h2>graph</h2>
19 <h2>graph</h2>
20
20
21 <form action="{url}log">
21 <form action="{url}log">
22 {sessionvars%hiddenformentry}
22 {sessionvars%hiddenformentry}
23 <p>
23 <p>
24 <label for="search1">search:</label>
24 <label for="search1">search:</label>
25 <input name="rev" id="search1" type="text" size="30">
25 <input name="rev" id="search1" type="text" size="30">
26 navigate: <small class="navigate">{changenav%navgraph}</small>
26 navigate: <small class="navigate">{changenav%navgraph}</small>
27 </p>
27 </p>
28 </form>
28 </form>
29
29
30 <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>
30 <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>
31
31
32 <div id="wrapper">
32 <div id="wrapper">
33 <ul id="nodebgs"></ul>
33 <ul id="nodebgs"></ul>
34 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
34 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
35 <ul id="graphnodes"></ul>
35 <ul id="graphnodes"></ul>
36 </div>
36 </div>
37
37
38 <script type="text/javascript" src="{staticurl}graph.js"></script>
38 <script type="text/javascript" src="{staticurl}graph.js"></script>
39 <script type="text/javascript">
39 <script type="text/javascript">
40 <!-- hide script content
40 <!-- hide script content
41
41
42 var data = {jsdata|json};
42 var data = {jsdata|json};
43 var graph = new Graph();
43 var graph = new Graph();
44 graph.scale({bg_height});
44 graph.scale({bg_height});
45
45
46 graph.edge = function(x0, y0, x1, y1, color) {
46 graph.edge = function(x0, y0, x1, y1, color) {
47
47
48 this.setColor(color, 0.0, 0.65);
48 this.setColor(color, 0.0, 0.65);
49 this.ctx.beginPath();
49 this.ctx.beginPath();
50 this.ctx.moveTo(x0, y0);
50 this.ctx.moveTo(x0, y0);
51 this.ctx.lineTo(x1, y1);
51 this.ctx.lineTo(x1, y1);
52 this.ctx.stroke();
52 this.ctx.stroke();
53
53
54 }
54 }
55
55
56 var revlink = '<li style="_STYLE"><span class="desc">';
56 var revlink = '<li style="_STYLE"><span class="desc">';
57 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
57 revlink += '<a href="{url}rev/_NODEID{sessionvars%urlparameter}" title="_NODEID">_DESC</a>';
58 revlink += '</span><span class="info">_DATE ago, by _USER</span></li>';
58 revlink += '</span><span class="info">_DATE, by _USER</span></li>';
59
59
60 graph.vertex = function(x, y, color, parity, cur) {
60 graph.vertex = function(x, y, color, parity, cur) {
61
61
62 this.ctx.beginPath();
62 this.ctx.beginPath();
63 color = this.setColor(color, 0.25, 0.75);
63 color = this.setColor(color, 0.25, 0.75);
64 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
64 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
65 this.ctx.fill();
65 this.ctx.fill();
66
66
67 var bg = '<li class="bg parity' + parity + '"></li>';
67 var bg = '<li class="bg parity' + parity + '"></li>';
68 var left = (this.columns + 1) * this.bg_height;
68 var left = (this.columns + 1) * this.bg_height;
69 var nstyle = 'padding-left: ' + left + 'px;';
69 var nstyle = 'padding-left: ' + left + 'px;';
70 var item = revlink.replace(/_STYLE/, nstyle);
70 var item = revlink.replace(/_STYLE/, nstyle);
71 item = item.replace(/_PARITY/, 'parity' + parity);
71 item = item.replace(/_PARITY/, 'parity' + parity);
72 item = item.replace(/_NODEID/, cur[0]);
72 item = item.replace(/_NODEID/, cur[0]);
73 item = item.replace(/_NODEID/, cur[0]);
73 item = item.replace(/_NODEID/, cur[0]);
74 item = item.replace(/_DESC/, cur[3]);
74 item = item.replace(/_DESC/, cur[3]);
75 item = item.replace(/_USER/, cur[4]);
75 item = item.replace(/_USER/, cur[4]);
76 item = item.replace(/_DATE/, cur[5]);
76 item = item.replace(/_DATE/, cur[5]);
77
77
78 return [bg, item];
78 return [bg, item];
79
79
80 }
80 }
81
81
82 graph.render(data);
82 graph.render(data);
83
83
84 // stop hiding script -->
84 // stop hiding script -->
85 </script>
85 </script>
86
86
87 <form action="{url}log">
87 <form action="{url}log">
88 {sessionvars%hiddenformentry}
88 {sessionvars%hiddenformentry}
89 <p>
89 <p>
90 <label for="search1">search:</label>
90 <label for="search1">search:</label>
91 <input name="rev" id="search1" type="text" size="30">
91 <input name="rev" id="search1" type="text" size="30">
92 navigate: <small class="navigate">{changenav%navgraph}</small>
92 navigate: <small class="navigate">{changenav%navgraph}</small>
93 </p>
93 </p>
94 </form>
94 </form>
95
95
96 {footer}
96 {footer}
@@ -1,183 +1,183 b''
1 default = 'shortlog'
1 default = 'shortlog'
2 mimetype = 'text/html; charset={encoding}'
2 mimetype = 'text/html; charset={encoding}'
3 header = header.tmpl
3 header = header.tmpl
4 footer = footer.tmpl
4 footer = footer.tmpl
5 search = search.tmpl
5 search = search.tmpl
6 changelog = changelog.tmpl
6 changelog = changelog.tmpl
7 shortlog = shortlog.tmpl
7 shortlog = shortlog.tmpl
8 shortlogentry = shortlogentry.tmpl
8 shortlogentry = shortlogentry.tmpl
9 graph = graph.tmpl
9 graph = graph.tmpl
10 naventry = '<a href="{url}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
10 naventry = '<a href="{url}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
11 navshortentry = '<a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
11 navshortentry = '<a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
12 navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
12 navgraphentry = '<a href="{url}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> '
13 filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> '
13 filenaventry = '<a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> '
14 filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
14 filedifflink = '<a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
15 filenodelink = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
15 filenodelink = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> '
16 filenolink = '{file|escape} '
16 filenolink = '{file|escape} '
17 fileellipses = '...'
17 fileellipses = '...'
18 changelogentry = changelogentry.tmpl
18 changelogentry = changelogentry.tmpl
19 searchentry = changelogentry.tmpl
19 searchentry = changelogentry.tmpl
20 changeset = changeset.tmpl
20 changeset = changeset.tmpl
21 manifest = manifest.tmpl
21 manifest = manifest.tmpl
22
22
23 nav = '{before%naventry} {after%naventry}'
23 nav = '{before%naventry} {after%naventry}'
24 navshort = '{before%navshortentry}{after%navshortentry}'
24 navshort = '{before%navshortentry}{after%navshortentry}'
25 navgraph = '{before%navgraphentry}{after%navgraphentry}'
25 navgraph = '{before%navgraphentry}{after%navgraphentry}'
26 filenav = '{before%filenaventry}{after%filenaventry}'
26 filenav = '{before%filenaventry}{after%filenaventry}'
27
27
28 direntry = '
28 direntry = '
29 <tr class="parity{parity}">
29 <tr class="parity{parity}">
30 <td><tt>drwxr-xr-x</tt>&nbsp;
30 <td><tt>drwxr-xr-x</tt>&nbsp;
31 <td>&nbsp;
31 <td>&nbsp;
32 <td>&nbsp;
32 <td>&nbsp;
33 <td>
33 <td>
34 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">{basename|escape}/</a>
34 <a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">{basename|escape}/</a>
35 <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">
35 <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">
36 {emptydirs|urlescape}
36 {emptydirs|urlescape}
37 </a>'
37 </a>'
38
38
39 fileentry = '
39 fileentry = '
40 <tr class="parity{parity}">
40 <tr class="parity{parity}">
41 <td><tt>{permissions|permissions}</tt>&nbsp;
41 <td><tt>{permissions|permissions}</tt>&nbsp;
42 <td align=right><tt class="date">{date|isodate}</tt>&nbsp;
42 <td align=right><tt class="date">{date|isodate}</tt>&nbsp;
43 <td align=right><tt>{size}</tt>&nbsp;
43 <td align=right><tt>{size}</tt>&nbsp;
44 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{basename|escape}</a>'
44 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{basename|escape}</a>'
45
45
46 filerevision = filerevision.tmpl
46 filerevision = filerevision.tmpl
47 fileannotate = fileannotate.tmpl
47 fileannotate = fileannotate.tmpl
48 filediff = filediff.tmpl
48 filediff = filediff.tmpl
49 filelog = filelog.tmpl
49 filelog = filelog.tmpl
50 fileline = '<div class="parity{parity}"><a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>&nbsp;{line|escape}</div>'
50 fileline = '<div class="parity{parity}"><a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>&nbsp;{line|escape}</div>'
51 filelogentry = filelogentry.tmpl
51 filelogentry = filelogentry.tmpl
52
52
53 # The &nbsp; ensures that all table cells have content (even if there
53 # The &nbsp; ensures that all table cells have content (even if there
54 # is an empty line in the annotated file), which in turn ensures that
54 # is an empty line in the annotated file), which in turn ensures that
55 # all table rows have equal height.
55 # all table rows have equal height.
56 annotateline = '
56 annotateline = '
57 <tr class="parity{parity}">
57 <tr class="parity{parity}">
58 <td class="annotate">
58 <td class="annotate">
59 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"
59 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"
60 title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
60 title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a>
61 </td>
61 </td>
62 <td>
62 <td>
63 <a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>
63 <a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>
64 </td>
64 </td>
65 <td><pre>&nbsp;{line|escape}</pre></td>
65 <td><pre>&nbsp;{line|escape}</pre></td>
66 </tr>'
66 </tr>'
67 difflineplus = '<span class="plusline"><a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>{line|escape}</span>'
67 difflineplus = '<span class="plusline"><a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>{line|escape}</span>'
68 difflineminus = '<span class="minusline"><a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>{line|escape}</span>'
68 difflineminus = '<span class="minusline"><a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>{line|escape}</span>'
69 difflineat = '<span class="atline"><a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>{line|escape}</span>'
69 difflineat = '<span class="atline"><a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>{line|escape}</span>'
70 diffline = '<a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>{line|escape}'
70 diffline = '<a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>{line|escape}'
71 changelogparent = '
71 changelogparent = '
72 <tr>
72 <tr>
73 <th class="parent">parent {rev}:</th>
73 <th class="parent">parent {rev}:</th>
74 <td class="parent">
74 <td class="parent">
75 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
75 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
76 </td>
76 </td>
77 </tr>'
77 </tr>'
78 changesetparent = '
78 changesetparent = '
79 <tr>
79 <tr>
80 <th class="parent">parent {rev}:</th>
80 <th class="parent">parent {rev}:</th>
81 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
81 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
82 </tr>'
82 </tr>'
83 filerevparent = '
83 filerevparent = '
84 <tr>
84 <tr>
85 <td class="metatag">parent:</td>
85 <td class="metatag">parent:</td>
86 <td>
86 <td>
87 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
87 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
88 {rename%filerename}{node|short}
88 {rename%filerename}{node|short}
89 </a>
89 </a>
90 </td>
90 </td>
91 </tr>'
91 </tr>'
92 filerename = '{file|escape}@'
92 filerename = '{file|escape}@'
93 filelogrename = '
93 filelogrename = '
94 <tr>
94 <tr>
95 <th>base:</th>
95 <th>base:</th>
96 <td>
96 <td>
97 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
97 <a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
98 {file|escape}@{node|short}
98 {file|escape}@{node|short}
99 </a>
99 </a>
100 </td>
100 </td>
101 </tr>'
101 </tr>'
102 fileannotateparent = '
102 fileannotateparent = '
103 <tr>
103 <tr>
104 <td class="metatag">parent:</td>
104 <td class="metatag">parent:</td>
105 <td>
105 <td>
106 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
106 <a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">
107 {rename%filerename}{node|short}
107 {rename%filerename}{node|short}
108 </a>
108 </a>
109 </td>
109 </td>
110 </tr>'
110 </tr>'
111 changesetchild = '
111 changesetchild = '
112 <tr>
112 <tr>
113 <th class="child">child {rev}:</th>
113 <th class="child">child {rev}:</th>
114 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
114 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
115 </tr>'
115 </tr>'
116 changelogchild = '
116 changelogchild = '
117 <tr>
117 <tr>
118 <th class="child">child {rev}:</th>
118 <th class="child">child {rev}:</th>
119 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
119 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
120 </tr>'
120 </tr>'
121 filerevchild = '
121 filerevchild = '
122 <tr>
122 <tr>
123 <td class="metatag">child:</td>
123 <td class="metatag">child:</td>
124 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
124 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
125 </tr>'
125 </tr>'
126 fileannotatechild = '
126 fileannotatechild = '
127 <tr>
127 <tr>
128 <td class="metatag">child:</td>
128 <td class="metatag">child:</td>
129 <td><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
129 <td><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
130 </tr>'
130 </tr>'
131 tags = tags.tmpl
131 tags = tags.tmpl
132 tagentry = '
132 tagentry = '
133 <li class="tagEntry parity{parity}">
133 <li class="tagEntry parity{parity}">
134 <tt class="node">{node}</tt>
134 <tt class="node">{node}</tt>
135 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{tag|escape}</a>
135 <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{tag|escape}</a>
136 </li>'
136 </li>'
137 branches = branches.tmpl
137 branches = branches.tmpl
138 branchentry = '
138 branchentry = '
139 <li class="tagEntry parity{parity}">
139 <li class="tagEntry parity{parity}">
140 <tt class="node">{node}</tt>
140 <tt class="node">{node}</tt>
141 <a href="{url}shortlog/{node|short}{sessionvars%urlparameter}" class="{status}">{branch|escape}</a>
141 <a href="{url}shortlog/{node|short}{sessionvars%urlparameter}" class="{status}">{branch|escape}</a>
142 </li>'
142 </li>'
143 diffblock = '<pre class="parity{parity}">{lines}</pre>'
143 diffblock = '<pre class="parity{parity}">{lines}</pre>'
144 changelogtag = '<tr><th class="tag">tag:</th><td class="tag">{tag|escape}</td></tr>'
144 changelogtag = '<tr><th class="tag">tag:</th><td class="tag">{tag|escape}</td></tr>'
145 changesettag = '<tr><th class="tag">tag:</th><td class="tag">{tag|escape}</td></tr>'
145 changesettag = '<tr><th class="tag">tag:</th><td class="tag">{tag|escape}</td></tr>'
146 filediffparent = '
146 filediffparent = '
147 <tr>
147 <tr>
148 <th class="parent">parent {rev}:</th>
148 <th class="parent">parent {rev}:</th>
149 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
149 <td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
150 </tr>'
150 </tr>'
151 filelogparent = '
151 filelogparent = '
152 <tr>
152 <tr>
153 <th>parent {rev}:</th>
153 <th>parent {rev}:</th>
154 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
154 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
155 </tr>'
155 </tr>'
156 filediffchild = '
156 filediffchild = '
157 <tr>
157 <tr>
158 <th class="child">child {rev}:</th>
158 <th class="child">child {rev}:</th>
159 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
159 <td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
160 </tr>'
160 </tr>'
161 filelogchild = '
161 filelogchild = '
162 <tr>
162 <tr>
163 <th>child {rev}:</th>
163 <th>child {rev}:</th>
164 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
164 <td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td>
165 </tr>'
165 </tr>'
166 indexentry = '
166 indexentry = '
167 <tr class="parity{parity}">
167 <tr class="parity{parity}">
168 <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
168 <td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td>
169 <td>{description}</td>
169 <td>{description}</td>
170 <td>{contact|obfuscate}</td>
170 <td>{contact|obfuscate}</td>
171 <td class="age">{lastchange|age} ago</td>
171 <td class="age">{lastchange|age}</td>
172 <td class="indexlinks">
172 <td class="indexlinks">
173 <a href="{url}rss-log">RSS</a>
173 <a href="{url}rss-log">RSS</a>
174 <a href="{url}atom-log">Atom</a>
174 <a href="{url}atom-log">Atom</a>
175 {archives%archiveentry}
175 {archives%archiveentry}
176 </td>
176 </td>
177 </tr>'
177 </tr>'
178 index = index.tmpl
178 index = index.tmpl
179 archiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">{type|escape}</a> '
179 archiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">{type|escape}</a> '
180 notfound = notfound.tmpl
180 notfound = notfound.tmpl
181 error = error.tmpl
181 error = error.tmpl
182 urlparameter = '{separator}{name}={value|urlescape}'
182 urlparameter = '{separator}{name}={value|urlescape}'
183 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
183 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
@@ -1,985 +1,985 b''
1 % Set up the repo
1 % Set up the repo
2 adding da/foo
2 adding da/foo
3 adding foo
3 adding foo
4 marked working directory as branch stable
4 marked working directory as branch stable
5 % Logs and changes
5 % Logs and changes
6 200 Script output follows
6 200 Script output follows
7
7
8 <?xml version="1.0" encoding="ascii"?>
8 <?xml version="1.0" encoding="ascii"?>
9 <feed xmlns="http://127.0.0.1/2005/Atom">
9 <feed xmlns="http://127.0.0.1/2005/Atom">
10 <!-- Changelog -->
10 <!-- Changelog -->
11 <id>http://127.0.0.1/</id>
11 <id>http://127.0.0.1/</id>
12 <link rel="self" href="http://127.0.0.1/atom-log"/>
12 <link rel="self" href="http://127.0.0.1/atom-log"/>
13 <link rel="alternate" href="http://127.0.0.1/"/>
13 <link rel="alternate" href="http://127.0.0.1/"/>
14 <title>test Changelog</title>
14 <title>test Changelog</title>
15 <updated>1970-01-01T00:00:00+00:00</updated>
15 <updated>1970-01-01T00:00:00+00:00</updated>
16
16
17 <entry>
17 <entry>
18 <title>branch</title>
18 <title>branch</title>
19 <id>http://127.0.0.1/#changeset-1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe</id>
19 <id>http://127.0.0.1/#changeset-1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe</id>
20 <link href="http://127.0.0.1/rev/1d22e65f027e"/>
20 <link href="http://127.0.0.1/rev/1d22e65f027e"/>
21 <author>
21 <author>
22 <name>test</name>
22 <name>test</name>
23 <email>&#116;&#101;&#115;&#116;</email>
23 <email>&#116;&#101;&#115;&#116;</email>
24 </author>
24 </author>
25 <updated>1970-01-01T00:00:00+00:00</updated>
25 <updated>1970-01-01T00:00:00+00:00</updated>
26 <published>1970-01-01T00:00:00+00:00</published>
26 <published>1970-01-01T00:00:00+00:00</published>
27 <content type="xhtml">
27 <content type="xhtml">
28 <div xmlns="http://127.0.0.1/1999/xhtml">
28 <div xmlns="http://127.0.0.1/1999/xhtml">
29 <pre xml:space="preserve">branch</pre>
29 <pre xml:space="preserve">branch</pre>
30 </div>
30 </div>
31 </content>
31 </content>
32 </entry>
32 </entry>
33 <entry>
33 <entry>
34 <title>Added tag 1.0 for changeset 2ef0ac749a14</title>
34 <title>Added tag 1.0 for changeset 2ef0ac749a14</title>
35 <id>http://127.0.0.1/#changeset-a4f92ed23982be056b9852de5dfe873eaac7f0de</id>
35 <id>http://127.0.0.1/#changeset-a4f92ed23982be056b9852de5dfe873eaac7f0de</id>
36 <link href="http://127.0.0.1/rev/a4f92ed23982"/>
36 <link href="http://127.0.0.1/rev/a4f92ed23982"/>
37 <author>
37 <author>
38 <name>test</name>
38 <name>test</name>
39 <email>&#116;&#101;&#115;&#116;</email>
39 <email>&#116;&#101;&#115;&#116;</email>
40 </author>
40 </author>
41 <updated>1970-01-01T00:00:00+00:00</updated>
41 <updated>1970-01-01T00:00:00+00:00</updated>
42 <published>1970-01-01T00:00:00+00:00</published>
42 <published>1970-01-01T00:00:00+00:00</published>
43 <content type="xhtml">
43 <content type="xhtml">
44 <div xmlns="http://127.0.0.1/1999/xhtml">
44 <div xmlns="http://127.0.0.1/1999/xhtml">
45 <pre xml:space="preserve">Added tag 1.0 for changeset 2ef0ac749a14</pre>
45 <pre xml:space="preserve">Added tag 1.0 for changeset 2ef0ac749a14</pre>
46 </div>
46 </div>
47 </content>
47 </content>
48 </entry>
48 </entry>
49 <entry>
49 <entry>
50 <title>base</title>
50 <title>base</title>
51 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
51 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
52 <link href="http://127.0.0.1/rev/2ef0ac749a14"/>
52 <link href="http://127.0.0.1/rev/2ef0ac749a14"/>
53 <author>
53 <author>
54 <name>test</name>
54 <name>test</name>
55 <email>&#116;&#101;&#115;&#116;</email>
55 <email>&#116;&#101;&#115;&#116;</email>
56 </author>
56 </author>
57 <updated>1970-01-01T00:00:00+00:00</updated>
57 <updated>1970-01-01T00:00:00+00:00</updated>
58 <published>1970-01-01T00:00:00+00:00</published>
58 <published>1970-01-01T00:00:00+00:00</published>
59 <content type="xhtml">
59 <content type="xhtml">
60 <div xmlns="http://127.0.0.1/1999/xhtml">
60 <div xmlns="http://127.0.0.1/1999/xhtml">
61 <pre xml:space="preserve">base</pre>
61 <pre xml:space="preserve">base</pre>
62 </div>
62 </div>
63 </content>
63 </content>
64 </entry>
64 </entry>
65
65
66 </feed>
66 </feed>
67 200 Script output follows
67 200 Script output follows
68
68
69 <?xml version="1.0" encoding="ascii"?>
69 <?xml version="1.0" encoding="ascii"?>
70 <feed xmlns="http://127.0.0.1/2005/Atom">
70 <feed xmlns="http://127.0.0.1/2005/Atom">
71 <!-- Changelog -->
71 <!-- Changelog -->
72 <id>http://127.0.0.1/</id>
72 <id>http://127.0.0.1/</id>
73 <link rel="self" href="http://127.0.0.1/atom-log"/>
73 <link rel="self" href="http://127.0.0.1/atom-log"/>
74 <link rel="alternate" href="http://127.0.0.1/"/>
74 <link rel="alternate" href="http://127.0.0.1/"/>
75 <title>test Changelog</title>
75 <title>test Changelog</title>
76 <updated>1970-01-01T00:00:00+00:00</updated>
76 <updated>1970-01-01T00:00:00+00:00</updated>
77
77
78 <entry>
78 <entry>
79 <title>branch</title>
79 <title>branch</title>
80 <id>http://127.0.0.1/#changeset-1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe</id>
80 <id>http://127.0.0.1/#changeset-1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe</id>
81 <link href="http://127.0.0.1/rev/1d22e65f027e"/>
81 <link href="http://127.0.0.1/rev/1d22e65f027e"/>
82 <author>
82 <author>
83 <name>test</name>
83 <name>test</name>
84 <email>&#116;&#101;&#115;&#116;</email>
84 <email>&#116;&#101;&#115;&#116;</email>
85 </author>
85 </author>
86 <updated>1970-01-01T00:00:00+00:00</updated>
86 <updated>1970-01-01T00:00:00+00:00</updated>
87 <published>1970-01-01T00:00:00+00:00</published>
87 <published>1970-01-01T00:00:00+00:00</published>
88 <content type="xhtml">
88 <content type="xhtml">
89 <div xmlns="http://127.0.0.1/1999/xhtml">
89 <div xmlns="http://127.0.0.1/1999/xhtml">
90 <pre xml:space="preserve">branch</pre>
90 <pre xml:space="preserve">branch</pre>
91 </div>
91 </div>
92 </content>
92 </content>
93 </entry>
93 </entry>
94 <entry>
94 <entry>
95 <title>Added tag 1.0 for changeset 2ef0ac749a14</title>
95 <title>Added tag 1.0 for changeset 2ef0ac749a14</title>
96 <id>http://127.0.0.1/#changeset-a4f92ed23982be056b9852de5dfe873eaac7f0de</id>
96 <id>http://127.0.0.1/#changeset-a4f92ed23982be056b9852de5dfe873eaac7f0de</id>
97 <link href="http://127.0.0.1/rev/a4f92ed23982"/>
97 <link href="http://127.0.0.1/rev/a4f92ed23982"/>
98 <author>
98 <author>
99 <name>test</name>
99 <name>test</name>
100 <email>&#116;&#101;&#115;&#116;</email>
100 <email>&#116;&#101;&#115;&#116;</email>
101 </author>
101 </author>
102 <updated>1970-01-01T00:00:00+00:00</updated>
102 <updated>1970-01-01T00:00:00+00:00</updated>
103 <published>1970-01-01T00:00:00+00:00</published>
103 <published>1970-01-01T00:00:00+00:00</published>
104 <content type="xhtml">
104 <content type="xhtml">
105 <div xmlns="http://127.0.0.1/1999/xhtml">
105 <div xmlns="http://127.0.0.1/1999/xhtml">
106 <pre xml:space="preserve">Added tag 1.0 for changeset 2ef0ac749a14</pre>
106 <pre xml:space="preserve">Added tag 1.0 for changeset 2ef0ac749a14</pre>
107 </div>
107 </div>
108 </content>
108 </content>
109 </entry>
109 </entry>
110 <entry>
110 <entry>
111 <title>base</title>
111 <title>base</title>
112 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
112 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
113 <link href="http://127.0.0.1/rev/2ef0ac749a14"/>
113 <link href="http://127.0.0.1/rev/2ef0ac749a14"/>
114 <author>
114 <author>
115 <name>test</name>
115 <name>test</name>
116 <email>&#116;&#101;&#115;&#116;</email>
116 <email>&#116;&#101;&#115;&#116;</email>
117 </author>
117 </author>
118 <updated>1970-01-01T00:00:00+00:00</updated>
118 <updated>1970-01-01T00:00:00+00:00</updated>
119 <published>1970-01-01T00:00:00+00:00</published>
119 <published>1970-01-01T00:00:00+00:00</published>
120 <content type="xhtml">
120 <content type="xhtml">
121 <div xmlns="http://127.0.0.1/1999/xhtml">
121 <div xmlns="http://127.0.0.1/1999/xhtml">
122 <pre xml:space="preserve">base</pre>
122 <pre xml:space="preserve">base</pre>
123 </div>
123 </div>
124 </content>
124 </content>
125 </entry>
125 </entry>
126
126
127 </feed>
127 </feed>
128 200 Script output follows
128 200 Script output follows
129
129
130 <?xml version="1.0" encoding="ascii"?>
130 <?xml version="1.0" encoding="ascii"?>
131 <feed xmlns="http://127.0.0.1/2005/Atom">
131 <feed xmlns="http://127.0.0.1/2005/Atom">
132 <id>http://127.0.0.1/atom-log/tip/foo</id>
132 <id>http://127.0.0.1/atom-log/tip/foo</id>
133 <link rel="self" href="http://127.0.0.1/atom-log/tip/foo"/>
133 <link rel="self" href="http://127.0.0.1/atom-log/tip/foo"/>
134 <title>test: foo history</title>
134 <title>test: foo history</title>
135 <updated>1970-01-01T00:00:00+00:00</updated>
135 <updated>1970-01-01T00:00:00+00:00</updated>
136
136
137 <entry>
137 <entry>
138 <title>base</title>
138 <title>base</title>
139 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
139 <id>http://127.0.0.1/#changeset-2ef0ac749a14e4f57a5a822464a0902c6f7f448f</id>
140 <link href="http://127.0.0.1/rev/2ef0ac749a14"/>
140 <link href="http://127.0.0.1/rev/2ef0ac749a14"/>
141 <author>
141 <author>
142 <name>test</name>
142 <name>test</name>
143 <email>&#116;&#101;&#115;&#116;</email>
143 <email>&#116;&#101;&#115;&#116;</email>
144 </author>
144 </author>
145 <updated>1970-01-01T00:00:00+00:00</updated>
145 <updated>1970-01-01T00:00:00+00:00</updated>
146 <published>1970-01-01T00:00:00+00:00</published>
146 <published>1970-01-01T00:00:00+00:00</published>
147 <content type="xhtml">
147 <content type="xhtml">
148 <div xmlns="http://127.0.0.1/1999/xhtml">
148 <div xmlns="http://127.0.0.1/1999/xhtml">
149 <pre xml:space="preserve">base</pre>
149 <pre xml:space="preserve">base</pre>
150 </div>
150 </div>
151 </content>
151 </content>
152 </entry>
152 </entry>
153
153
154 </feed>
154 </feed>
155 200 Script output follows
155 200 Script output follows
156
156
157 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
157 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
158 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
158 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
159 <head>
159 <head>
160 <link rel="icon" href="/static/hgicon.png" type="image/png" />
160 <link rel="icon" href="/static/hgicon.png" type="image/png" />
161 <meta name="robots" content="index, nofollow" />
161 <meta name="robots" content="index, nofollow" />
162 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
162 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
163
163
164 <title>test: log</title>
164 <title>test: log</title>
165 <link rel="alternate" type="application/atom+xml"
165 <link rel="alternate" type="application/atom+xml"
166 href="/atom-log" title="Atom feed for test" />
166 href="/atom-log" title="Atom feed for test" />
167 <link rel="alternate" type="application/rss+xml"
167 <link rel="alternate" type="application/rss+xml"
168 href="/rss-log" title="RSS feed for test" />
168 href="/rss-log" title="RSS feed for test" />
169 </head>
169 </head>
170 <body>
170 <body>
171
171
172 <div class="container">
172 <div class="container">
173 <div class="menu">
173 <div class="menu">
174 <div class="logo">
174 <div class="logo">
175 <a href="http://mercurial.selenic.com/">
175 <a href="http://mercurial.selenic.com/">
176 <img src="/static/hglogo.png" alt="mercurial" /></a>
176 <img src="/static/hglogo.png" alt="mercurial" /></a>
177 </div>
177 </div>
178 <ul>
178 <ul>
179 <li class="active">log</li>
179 <li class="active">log</li>
180 <li><a href="/graph/1d22e65f027e">graph</a></li>
180 <li><a href="/graph/1d22e65f027e">graph</a></li>
181 <li><a href="/tags">tags</a></li>
181 <li><a href="/tags">tags</a></li>
182 <li><a href="/branches">branches</a></li>
182 <li><a href="/branches">branches</a></li>
183 </ul>
183 </ul>
184 <ul>
184 <ul>
185 <li><a href="/rev/1d22e65f027e">changeset</a></li>
185 <li><a href="/rev/1d22e65f027e">changeset</a></li>
186 <li><a href="/file/1d22e65f027e">browse</a></li>
186 <li><a href="/file/1d22e65f027e">browse</a></li>
187 </ul>
187 </ul>
188 <ul>
188 <ul>
189
189
190 </ul>
190 </ul>
191 </div>
191 </div>
192
192
193 <div class="main">
193 <div class="main">
194 <h2><a href="/">test</a></h2>
194 <h2><a href="/">test</a></h2>
195 <h3>log</h3>
195 <h3>log</h3>
196
196
197 <form class="search" action="/log">
197 <form class="search" action="/log">
198
198
199 <p><input name="rev" id="search1" type="text" size="30" /></p>
199 <p><input name="rev" id="search1" type="text" size="30" /></p>
200 <div id="hint">find changesets by author, revision,
200 <div id="hint">find changesets by author, revision,
201 files, or words in the commit message</div>
201 files, or words in the commit message</div>
202 </form>
202 </form>
203
203
204 <div class="navigate">
204 <div class="navigate">
205 <a href="/shortlog/2?revcount=30">less</a>
205 <a href="/shortlog/2?revcount=30">less</a>
206 <a href="/shortlog/2?revcount=120">more</a>
206 <a href="/shortlog/2?revcount=120">more</a>
207 | rev 2: <a href="/shortlog/2ef0ac749a14">(0)</a> <a href="/shortlog/tip">tip</a>
207 | rev 2: <a href="/shortlog/2ef0ac749a14">(0)</a> <a href="/shortlog/tip">tip</a>
208 </div>
208 </div>
209
209
210 <table class="bigtable">
210 <table class="bigtable">
211 <tr>
211 <tr>
212 <th class="age">age</th>
212 <th class="age">age</th>
213 <th class="author">author</th>
213 <th class="author">author</th>
214 <th class="description">description</th>
214 <th class="description">description</th>
215 </tr>
215 </tr>
216 <tr class="parity0">
216 <tr class="parity0">
217 <td class="age">1970-01-01</td>
217 <td class="age">1970-01-01</td>
218 <td class="author">test</td>
218 <td class="author">test</td>
219 <td class="description"><a href="/rev/1d22e65f027e">branch</a><span class="branchhead">stable</span> <span class="tag">tip</span> </td>
219 <td class="description"><a href="/rev/1d22e65f027e">branch</a><span class="branchhead">stable</span> <span class="tag">tip</span> </td>
220 </tr>
220 </tr>
221 <tr class="parity1">
221 <tr class="parity1">
222 <td class="age">1970-01-01</td>
222 <td class="age">1970-01-01</td>
223 <td class="author">test</td>
223 <td class="author">test</td>
224 <td class="description"><a href="/rev/a4f92ed23982">Added tag 1.0 for changeset 2ef0ac749a14</a><span class="branchhead">default</span> </td>
224 <td class="description"><a href="/rev/a4f92ed23982">Added tag 1.0 for changeset 2ef0ac749a14</a><span class="branchhead">default</span> </td>
225 </tr>
225 </tr>
226 <tr class="parity0">
226 <tr class="parity0">
227 <td class="age">1970-01-01</td>
227 <td class="age">1970-01-01</td>
228 <td class="author">test</td>
228 <td class="author">test</td>
229 <td class="description"><a href="/rev/2ef0ac749a14">base</a><span class="tag">1.0</span> </td>
229 <td class="description"><a href="/rev/2ef0ac749a14">base</a><span class="tag">1.0</span> </td>
230 </tr>
230 </tr>
231
231
232 </table>
232 </table>
233
233
234 <div class="navigate">
234 <div class="navigate">
235 <a href="/shortlog/2?revcount=30">less</a>
235 <a href="/shortlog/2?revcount=30">less</a>
236 <a href="/shortlog/2?revcount=120">more</a>
236 <a href="/shortlog/2?revcount=120">more</a>
237 | rev 2: <a href="/shortlog/2ef0ac749a14">(0)</a> <a href="/shortlog/tip">tip</a>
237 | rev 2: <a href="/shortlog/2ef0ac749a14">(0)</a> <a href="/shortlog/tip">tip</a>
238 </div>
238 </div>
239
239
240 </div>
240 </div>
241 </div>
241 </div>
242
242
243
243
244
244
245 </body>
245 </body>
246 </html>
246 </html>
247
247
248 200 Script output follows
248 200 Script output follows
249
249
250 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
250 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
251 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
251 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
252 <head>
252 <head>
253 <link rel="icon" href="/static/hgicon.png" type="image/png" />
253 <link rel="icon" href="/static/hgicon.png" type="image/png" />
254 <meta name="robots" content="index, nofollow" />
254 <meta name="robots" content="index, nofollow" />
255 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
255 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
256
256
257 <title>test: 2ef0ac749a14</title>
257 <title>test: 2ef0ac749a14</title>
258 </head>
258 </head>
259 <body>
259 <body>
260 <div class="container">
260 <div class="container">
261 <div class="menu">
261 <div class="menu">
262 <div class="logo">
262 <div class="logo">
263 <a href="http://mercurial.selenic.com/">
263 <a href="http://mercurial.selenic.com/">
264 <img src="/static/hglogo.png" alt="mercurial" /></a>
264 <img src="/static/hglogo.png" alt="mercurial" /></a>
265 </div>
265 </div>
266 <ul>
266 <ul>
267 <li><a href="/shortlog/2ef0ac749a14">log</a></li>
267 <li><a href="/shortlog/2ef0ac749a14">log</a></li>
268 <li><a href="/graph/2ef0ac749a14">graph</a></li>
268 <li><a href="/graph/2ef0ac749a14">graph</a></li>
269 <li><a href="/tags">tags</a></li>
269 <li><a href="/tags">tags</a></li>
270 <li><a href="/branches">branches</a></li>
270 <li><a href="/branches">branches</a></li>
271 </ul>
271 </ul>
272 <ul>
272 <ul>
273 <li class="active">changeset</li>
273 <li class="active">changeset</li>
274 <li><a href="/raw-rev/2ef0ac749a14">raw</a></li>
274 <li><a href="/raw-rev/2ef0ac749a14">raw</a></li>
275 <li><a href="/file/2ef0ac749a14">browse</a></li>
275 <li><a href="/file/2ef0ac749a14">browse</a></li>
276 </ul>
276 </ul>
277 <ul>
277 <ul>
278
278
279 </ul>
279 </ul>
280 </div>
280 </div>
281
281
282 <div class="main">
282 <div class="main">
283
283
284 <h2><a href="/">test</a></h2>
284 <h2><a href="/">test</a></h2>
285 <h3>changeset 0:2ef0ac749a14 <span class="tag">1.0</span> </h3>
285 <h3>changeset 0:2ef0ac749a14 <span class="tag">1.0</span> </h3>
286
286
287 <form class="search" action="/log">
287 <form class="search" action="/log">
288
288
289 <p><input name="rev" id="search1" type="text" size="30" /></p>
289 <p><input name="rev" id="search1" type="text" size="30" /></p>
290 <div id="hint">find changesets by author, revision,
290 <div id="hint">find changesets by author, revision,
291 files, or words in the commit message</div>
291 files, or words in the commit message</div>
292 </form>
292 </form>
293
293
294 <div class="description">base</div>
294 <div class="description">base</div>
295
295
296 <table id="changesetEntry">
296 <table id="changesetEntry">
297 <tr>
297 <tr>
298 <th class="author">author</th>
298 <th class="author">author</th>
299 <td class="author">&#116;&#101;&#115;&#116;</td>
299 <td class="author">&#116;&#101;&#115;&#116;</td>
300 </tr>
300 </tr>
301 <tr>
301 <tr>
302 <th class="date">date</th>
302 <th class="date">date</th>
303 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (1970-01-01)</td></tr>
303 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (1970-01-01)</td></tr>
304 <tr>
304 <tr>
305 <th class="author">parents</th>
305 <th class="author">parents</th>
306 <td class="author"></td>
306 <td class="author"></td>
307 </tr>
307 </tr>
308 <tr>
308 <tr>
309 <th class="author">children</th>
309 <th class="author">children</th>
310 <td class="author"> <a href="/rev/a4f92ed23982">a4f92ed23982</a></td>
310 <td class="author"> <a href="/rev/a4f92ed23982">a4f92ed23982</a></td>
311 </tr>
311 </tr>
312 <tr>
312 <tr>
313 <th class="files">files</th>
313 <th class="files">files</th>
314 <td class="files"><a href="/file/2ef0ac749a14/da/foo">da/foo</a> <a href="/file/2ef0ac749a14/foo">foo</a> </td>
314 <td class="files"><a href="/file/2ef0ac749a14/da/foo">da/foo</a> <a href="/file/2ef0ac749a14/foo">foo</a> </td>
315 </tr>
315 </tr>
316 </table>
316 </table>
317
317
318 <div class="overflow">
318 <div class="overflow">
319 <div class="sourcefirst"> line diff</div>
319 <div class="sourcefirst"> line diff</div>
320
320
321 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
321 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
322 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ b/da/foo Thu Jan 01 00:00:00 1970 +0000
322 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ b/da/foo Thu Jan 01 00:00:00 1970 +0000
323 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
323 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
324 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+foo
324 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+foo
325 </span></pre></div><div class="source bottomline parity1"><pre><a href="#l2.1" id="l2.1"> 2.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
325 </span></pre></div><div class="source bottomline parity1"><pre><a href="#l2.1" id="l2.1"> 2.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
326 </span><a href="#l2.2" id="l2.2"> 2.2</a> <span class="plusline">+++ b/foo Thu Jan 01 00:00:00 1970 +0000
326 </span><a href="#l2.2" id="l2.2"> 2.2</a> <span class="plusline">+++ b/foo Thu Jan 01 00:00:00 1970 +0000
327 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="atline">@@ -0,0 +1,1 @@
327 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="atline">@@ -0,0 +1,1 @@
328 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="plusline">+foo
328 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="plusline">+foo
329 </span></pre></div>
329 </span></pre></div>
330 </div>
330 </div>
331
331
332 </div>
332 </div>
333 </div>
333 </div>
334
334
335
335
336 </body>
336 </body>
337 </html>
337 </html>
338
338
339 200 Script output follows
339 200 Script output follows
340
340
341
341
342 # HG changeset patch
342 # HG changeset patch
343 # User test
343 # User test
344 # Date 0 0
344 # Date 0 0
345 # Node ID a4f92ed23982be056b9852de5dfe873eaac7f0de
345 # Node ID a4f92ed23982be056b9852de5dfe873eaac7f0de
346 # Parent 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
346 # Parent 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
347 Added tag 1.0 for changeset 2ef0ac749a14
347 Added tag 1.0 for changeset 2ef0ac749a14
348
348
349 diff -r 2ef0ac749a14 -r a4f92ed23982 .hgtags
349 diff -r 2ef0ac749a14 -r a4f92ed23982 .hgtags
350 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
350 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
351 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
351 +++ b/.hgtags Thu Jan 01 00:00:00 1970 +0000
352 @@ -0,0 +1,1 @@
352 @@ -0,0 +1,1 @@
353 +2ef0ac749a14e4f57a5a822464a0902c6f7f448f 1.0
353 +2ef0ac749a14e4f57a5a822464a0902c6f7f448f 1.0
354
354
355 200 Script output follows
355 200 Script output follows
356
356
357 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
357 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
358 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
358 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
359 <head>
359 <head>
360 <link rel="icon" href="/static/hgicon.png" type="image/png" />
360 <link rel="icon" href="/static/hgicon.png" type="image/png" />
361 <meta name="robots" content="index, nofollow" />
361 <meta name="robots" content="index, nofollow" />
362 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
362 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
363
363
364 <title>test: searching for base</title>
364 <title>test: searching for base</title>
365 </head>
365 </head>
366 <body>
366 <body>
367
367
368 <div class="container">
368 <div class="container">
369 <div class="menu">
369 <div class="menu">
370 <div class="logo">
370 <div class="logo">
371 <a href="http://mercurial.selenic.com/">
371 <a href="http://mercurial.selenic.com/">
372 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial"></a>
372 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial"></a>
373 </div>
373 </div>
374 <ul>
374 <ul>
375 <li><a href="/shortlog">log</a></li>
375 <li><a href="/shortlog">log</a></li>
376 <li><a href="/graph">graph</a></li>
376 <li><a href="/graph">graph</a></li>
377 <li><a href="/tags">tags</a></li>
377 <li><a href="/tags">tags</a></li>
378 <li><a href="/branches">branches</a></li>
378 <li><a href="/branches">branches</a></li>
379 </ul>
379 </ul>
380 </div>
380 </div>
381
381
382 <div class="main">
382 <div class="main">
383 <h2><a href="/">test</a></h2>
383 <h2><a href="/">test</a></h2>
384 <h3>searching for 'base'</h3>
384 <h3>searching for 'base'</h3>
385
385
386 <form class="search" action="/log">
386 <form class="search" action="/log">
387
387
388 <p><input name="rev" id="search1" type="text" size="30"></p>
388 <p><input name="rev" id="search1" type="text" size="30"></p>
389 <div id="hint">find changesets by author, revision,
389 <div id="hint">find changesets by author, revision,
390 files, or words in the commit message</div>
390 files, or words in the commit message</div>
391 </form>
391 </form>
392
392
393 <div class="navigate">
393 <div class="navigate">
394 <a href="/search/?rev=base&revcount=5">less</a>
394 <a href="/search/?rev=base&revcount=5">less</a>
395 <a href="/search/?rev=base&revcount=20">more</a>
395 <a href="/search/?rev=base&revcount=20">more</a>
396 </div>
396 </div>
397
397
398 <table class="bigtable">
398 <table class="bigtable">
399 <tr>
399 <tr>
400 <th class="age">age</th>
400 <th class="age">age</th>
401 <th class="author">author</th>
401 <th class="author">author</th>
402 <th class="description">description</th>
402 <th class="description">description</th>
403 </tr>
403 </tr>
404 <tr class="parity0">
404 <tr class="parity0">
405 <td class="age">1970-01-01</td>
405 <td class="age">1970-01-01</td>
406 <td class="author">test</td>
406 <td class="author">test</td>
407 <td class="description"><a href="/rev/2ef0ac749a14">base</a><span class="tag">1.0</span> </td>
407 <td class="description"><a href="/rev/2ef0ac749a14">base</a><span class="tag">1.0</span> </td>
408 </tr>
408 </tr>
409
409
410 </table>
410 </table>
411
411
412 <div class="navigate">
412 <div class="navigate">
413 <a href="/search/?rev=base&revcount=5">less</a>
413 <a href="/search/?rev=base&revcount=5">less</a>
414 <a href="/search/?rev=base&revcount=20">more</a>
414 <a href="/search/?rev=base&revcount=20">more</a>
415 </div>
415 </div>
416
416
417 </div>
417 </div>
418 </div>
418 </div>
419
419
420
420
421
421
422 </body>
422 </body>
423 </html>
423 </html>
424
424
425 % File-related
425 % File-related
426 200 Script output follows
426 200 Script output follows
427
427
428 foo
428 foo
429 200 Script output follows
429 200 Script output follows
430
430
431
431
432 test@0: foo
432 test@0: foo
433
433
434
434
435
435
436
436
437 200 Script output follows
437 200 Script output follows
438
438
439
439
440 drwxr-xr-x da
440 drwxr-xr-x da
441 -rw-r--r-- 45 .hgtags
441 -rw-r--r-- 45 .hgtags
442 -rw-r--r-- 4 foo
442 -rw-r--r-- 4 foo
443
443
444
444
445 200 Script output follows
445 200 Script output follows
446
446
447 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
447 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
448 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
448 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
449 <head>
449 <head>
450 <link rel="icon" href="/static/hgicon.png" type="image/png" />
450 <link rel="icon" href="/static/hgicon.png" type="image/png" />
451 <meta name="robots" content="index, nofollow" />
451 <meta name="robots" content="index, nofollow" />
452 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
452 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
453
453
454 <title>test: a4f92ed23982 foo</title>
454 <title>test: a4f92ed23982 foo</title>
455 </head>
455 </head>
456 <body>
456 <body>
457
457
458 <div class="container">
458 <div class="container">
459 <div class="menu">
459 <div class="menu">
460 <div class="logo">
460 <div class="logo">
461 <a href="http://mercurial.selenic.com/">
461 <a href="http://mercurial.selenic.com/">
462 <img src="/static/hglogo.png" alt="mercurial" /></a>
462 <img src="/static/hglogo.png" alt="mercurial" /></a>
463 </div>
463 </div>
464 <ul>
464 <ul>
465 <li><a href="/shortlog/a4f92ed23982">log</a></li>
465 <li><a href="/shortlog/a4f92ed23982">log</a></li>
466 <li><a href="/graph/a4f92ed23982">graph</a></li>
466 <li><a href="/graph/a4f92ed23982">graph</a></li>
467 <li><a href="/tags">tags</a></li>
467 <li><a href="/tags">tags</a></li>
468 <li><a href="/branches">branches</a></li>
468 <li><a href="/branches">branches</a></li>
469 </ul>
469 </ul>
470 <ul>
470 <ul>
471 <li><a href="/rev/a4f92ed23982">changeset</a></li>
471 <li><a href="/rev/a4f92ed23982">changeset</a></li>
472 <li><a href="/file/a4f92ed23982/">browse</a></li>
472 <li><a href="/file/a4f92ed23982/">browse</a></li>
473 </ul>
473 </ul>
474 <ul>
474 <ul>
475 <li class="active">file</li>
475 <li class="active">file</li>
476 <li><a href="/file/tip/foo">latest</a></li>
476 <li><a href="/file/tip/foo">latest</a></li>
477 <li><a href="/diff/a4f92ed23982/foo">diff</a></li>
477 <li><a href="/diff/a4f92ed23982/foo">diff</a></li>
478 <li><a href="/annotate/a4f92ed23982/foo">annotate</a></li>
478 <li><a href="/annotate/a4f92ed23982/foo">annotate</a></li>
479 <li><a href="/log/a4f92ed23982/foo">file log</a></li>
479 <li><a href="/log/a4f92ed23982/foo">file log</a></li>
480 <li><a href="/raw-file/a4f92ed23982/foo">raw</a></li>
480 <li><a href="/raw-file/a4f92ed23982/foo">raw</a></li>
481 </ul>
481 </ul>
482 </div>
482 </div>
483
483
484 <div class="main">
484 <div class="main">
485 <h2><a href="/">test</a></h2>
485 <h2><a href="/">test</a></h2>
486 <h3>view foo @ 1:a4f92ed23982</h3>
486 <h3>view foo @ 1:a4f92ed23982</h3>
487
487
488 <form class="search" action="/log">
488 <form class="search" action="/log">
489
489
490 <p><input name="rev" id="search1" type="text" size="30" /></p>
490 <p><input name="rev" id="search1" type="text" size="30" /></p>
491 <div id="hint">find changesets by author, revision,
491 <div id="hint">find changesets by author, revision,
492 files, or words in the commit message</div>
492 files, or words in the commit message</div>
493 </form>
493 </form>
494
494
495 <div class="description">Added tag 1.0 for changeset 2ef0ac749a14</div>
495 <div class="description">Added tag 1.0 for changeset 2ef0ac749a14</div>
496
496
497 <table id="changesetEntry">
497 <table id="changesetEntry">
498 <tr>
498 <tr>
499 <th class="author">author</th>
499 <th class="author">author</th>
500 <td class="author">&#116;&#101;&#115;&#116;</td>
500 <td class="author">&#116;&#101;&#115;&#116;</td>
501 </tr>
501 </tr>
502 <tr>
502 <tr>
503 <th class="date">date</th>
503 <th class="date">date</th>
504 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (1970-01-01)</td>
504 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (1970-01-01)</td>
505 </tr>
505 </tr>
506 <tr>
506 <tr>
507 <th class="author">parents</th>
507 <th class="author">parents</th>
508 <td class="author"></td>
508 <td class="author"></td>
509 </tr>
509 </tr>
510 <tr>
510 <tr>
511 <th class="author">children</th>
511 <th class="author">children</th>
512 <td class="author"><a href="/file/1d22e65f027e/foo">1d22e65f027e</a> </td>
512 <td class="author"><a href="/file/1d22e65f027e/foo">1d22e65f027e</a> </td>
513 </tr>
513 </tr>
514
514
515 </table>
515 </table>
516
516
517 <div class="overflow">
517 <div class="overflow">
518 <div class="sourcefirst"> line source</div>
518 <div class="sourcefirst"> line source</div>
519
519
520 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> foo
520 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> foo
521 </div>
521 </div>
522 <div class="sourcelast"></div>
522 <div class="sourcelast"></div>
523 </div>
523 </div>
524 </div>
524 </div>
525 </div>
525 </div>
526
526
527
527
528
528
529 </body>
529 </body>
530 </html>
530 </html>
531
531
532 200 Script output follows
532 200 Script output follows
533
533
534
534
535 diff -r 000000000000 -r a4f92ed23982 foo
535 diff -r 000000000000 -r a4f92ed23982 foo
536 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
536 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
537 +++ b/foo Thu Jan 01 00:00:00 1970 +0000
537 +++ b/foo Thu Jan 01 00:00:00 1970 +0000
538 @@ -0,0 +1,1 @@
538 @@ -0,0 +1,1 @@
539 +foo
539 +foo
540
540
541
541
542
542
543
543
544 % Overviews
544 % Overviews
545 200 Script output follows
545 200 Script output follows
546
546
547 tip 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe
547 tip 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe
548 1.0 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
548 1.0 2ef0ac749a14e4f57a5a822464a0902c6f7f448f
549 200 Script output follows
549 200 Script output follows
550
550
551 stable 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe open
551 stable 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe open
552 default a4f92ed23982be056b9852de5dfe873eaac7f0de inactive
552 default a4f92ed23982be056b9852de5dfe873eaac7f0de inactive
553 200 Script output follows
553 200 Script output follows
554
554
555 <?xml version="1.0" encoding="ascii"?>
555 <?xml version="1.0" encoding="ascii"?>
556 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
556 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
557 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
557 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
558 <head>
558 <head>
559 <link rel="icon" href="/static/hgicon.png" type="image/png" />
559 <link rel="icon" href="/static/hgicon.png" type="image/png" />
560 <meta name="robots" content="index, nofollow"/>
560 <meta name="robots" content="index, nofollow"/>
561 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
561 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
562
562
563
563
564 <title>test: Summary</title>
564 <title>test: Summary</title>
565 <link rel="alternate" type="application/atom+xml"
565 <link rel="alternate" type="application/atom+xml"
566 href="/atom-log" title="Atom feed for test"/>
566 href="/atom-log" title="Atom feed for test"/>
567 <link rel="alternate" type="application/rss+xml"
567 <link rel="alternate" type="application/rss+xml"
568 href="/rss-log" title="RSS feed for test"/>
568 href="/rss-log" title="RSS feed for test"/>
569 </head>
569 </head>
570 <body>
570 <body>
571
571
572 <div class="page_header">
572 <div class="page_header">
573 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / summary
573 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / summary
574
574
575 <form action="/log">
575 <form action="/log">
576 <input type="hidden" name="style" value="gitweb" />
576 <input type="hidden" name="style" value="gitweb" />
577 <div class="search">
577 <div class="search">
578 <input type="text" name="rev" />
578 <input type="text" name="rev" />
579 </div>
579 </div>
580 </form>
580 </form>
581 </div>
581 </div>
582
582
583 <div class="page_nav">
583 <div class="page_nav">
584 summary |
584 summary |
585 <a href="/shortlog?style=gitweb">shortlog</a> |
585 <a href="/shortlog?style=gitweb">shortlog</a> |
586 <a href="/log?style=gitweb">changelog</a> |
586 <a href="/log?style=gitweb">changelog</a> |
587 <a href="/graph?style=gitweb">graph</a> |
587 <a href="/graph?style=gitweb">graph</a> |
588 <a href="/tags?style=gitweb">tags</a> |
588 <a href="/tags?style=gitweb">tags</a> |
589 <a href="/branches?style=gitweb">branches</a> |
589 <a href="/branches?style=gitweb">branches</a> |
590 <a href="/file/1d22e65f027e?style=gitweb">files</a>
590 <a href="/file/1d22e65f027e?style=gitweb">files</a>
591 <br/>
591 <br/>
592 </div>
592 </div>
593
593
594 <div class="title">&nbsp;</div>
594 <div class="title">&nbsp;</div>
595 <table cellspacing="0">
595 <table cellspacing="0">
596 <tr><td>description</td><td>unknown</td></tr>
596 <tr><td>description</td><td>unknown</td></tr>
597 <tr><td>owner</td><td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td></tr>
597 <tr><td>owner</td><td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td></tr>
598 <tr><td>last change</td><td>Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
598 <tr><td>last change</td><td>Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
599 </table>
599 </table>
600
600
601 <div><a class="title" href="/shortlog?style=gitweb">changes</a></div>
601 <div><a class="title" href="/shortlog?style=gitweb">changes</a></div>
602 <table cellspacing="0">
602 <table cellspacing="0">
603
603
604 <tr class="parity0">
604 <tr class="parity0">
605 <td class="age"><i>1970-01-01</i></td>
605 <td class="age"><i>1970-01-01</i></td>
606 <td><i>test</i></td>
606 <td><i>test</i></td>
607 <td>
607 <td>
608 <a class="list" href="/rev/1d22e65f027e?style=gitweb">
608 <a class="list" href="/rev/1d22e65f027e?style=gitweb">
609 <b>branch</b>
609 <b>branch</b>
610 <span class="logtags"><span class="branchtag" title="stable">stable</span> <span class="tagtag" title="tip">tip</span> </span>
610 <span class="logtags"><span class="branchtag" title="stable">stable</span> <span class="tagtag" title="tip">tip</span> </span>
611 </a>
611 </a>
612 </td>
612 </td>
613 <td class="link" nowrap>
613 <td class="link" nowrap>
614 <a href="/rev/1d22e65f027e?style=gitweb">changeset</a> |
614 <a href="/rev/1d22e65f027e?style=gitweb">changeset</a> |
615 <a href="/file/1d22e65f027e?style=gitweb">files</a>
615 <a href="/file/1d22e65f027e?style=gitweb">files</a>
616 </td>
616 </td>
617 </tr>
617 </tr>
618 <tr class="parity1">
618 <tr class="parity1">
619 <td class="age"><i>1970-01-01</i></td>
619 <td class="age"><i>1970-01-01</i></td>
620 <td><i>test</i></td>
620 <td><i>test</i></td>
621 <td>
621 <td>
622 <a class="list" href="/rev/a4f92ed23982?style=gitweb">
622 <a class="list" href="/rev/a4f92ed23982?style=gitweb">
623 <b>Added tag 1.0 for changeset 2ef0ac749a14</b>
623 <b>Added tag 1.0 for changeset 2ef0ac749a14</b>
624 <span class="logtags"><span class="branchtag" title="default">default</span> </span>
624 <span class="logtags"><span class="branchtag" title="default">default</span> </span>
625 </a>
625 </a>
626 </td>
626 </td>
627 <td class="link" nowrap>
627 <td class="link" nowrap>
628 <a href="/rev/a4f92ed23982?style=gitweb">changeset</a> |
628 <a href="/rev/a4f92ed23982?style=gitweb">changeset</a> |
629 <a href="/file/a4f92ed23982?style=gitweb">files</a>
629 <a href="/file/a4f92ed23982?style=gitweb">files</a>
630 </td>
630 </td>
631 </tr>
631 </tr>
632 <tr class="parity0">
632 <tr class="parity0">
633 <td class="age"><i>1970-01-01</i></td>
633 <td class="age"><i>1970-01-01</i></td>
634 <td><i>test</i></td>
634 <td><i>test</i></td>
635 <td>
635 <td>
636 <a class="list" href="/rev/2ef0ac749a14?style=gitweb">
636 <a class="list" href="/rev/2ef0ac749a14?style=gitweb">
637 <b>base</b>
637 <b>base</b>
638 <span class="logtags"><span class="tagtag" title="1.0">1.0</span> </span>
638 <span class="logtags"><span class="tagtag" title="1.0">1.0</span> </span>
639 </a>
639 </a>
640 </td>
640 </td>
641 <td class="link" nowrap>
641 <td class="link" nowrap>
642 <a href="/rev/2ef0ac749a14?style=gitweb">changeset</a> |
642 <a href="/rev/2ef0ac749a14?style=gitweb">changeset</a> |
643 <a href="/file/2ef0ac749a14?style=gitweb">files</a>
643 <a href="/file/2ef0ac749a14?style=gitweb">files</a>
644 </td>
644 </td>
645 </tr>
645 </tr>
646 <tr class="light"><td colspan="4"><a class="list" href="/shortlog?style=gitweb">...</a></td></tr>
646 <tr class="light"><td colspan="4"><a class="list" href="/shortlog?style=gitweb">...</a></td></tr>
647 </table>
647 </table>
648
648
649 <div><a class="title" href="/tags?style=gitweb">tags</a></div>
649 <div><a class="title" href="/tags?style=gitweb">tags</a></div>
650 <table cellspacing="0">
650 <table cellspacing="0">
651
651
652 <tr class="parity0">
652 <tr class="parity0">
653 <td class="age"><i>1970-01-01</i></td>
653 <td class="age"><i>1970-01-01</i></td>
654 <td><a class="list" href="/rev/2ef0ac749a14?style=gitweb"><b>1.0</b></a></td>
654 <td><a class="list" href="/rev/2ef0ac749a14?style=gitweb"><b>1.0</b></a></td>
655 <td class="link">
655 <td class="link">
656 <a href="/rev/2ef0ac749a14?style=gitweb">changeset</a> |
656 <a href="/rev/2ef0ac749a14?style=gitweb">changeset</a> |
657 <a href="/log/2ef0ac749a14?style=gitweb">changelog</a> |
657 <a href="/log/2ef0ac749a14?style=gitweb">changelog</a> |
658 <a href="/file/2ef0ac749a14?style=gitweb">files</a>
658 <a href="/file/2ef0ac749a14?style=gitweb">files</a>
659 </td>
659 </td>
660 </tr>
660 </tr>
661 <tr class="light"><td colspan="3"><a class="list" href="/tags?style=gitweb">...</a></td></tr>
661 <tr class="light"><td colspan="3"><a class="list" href="/tags?style=gitweb">...</a></td></tr>
662 </table>
662 </table>
663
663
664 <div><a class="title" href="#">branches</a></div>
664 <div><a class="title" href="#">branches</a></div>
665 <table cellspacing="0">
665 <table cellspacing="0">
666
666
667 <tr class="parity0">
667 <tr class="parity0">
668 <td class="age"><i>1970-01-01</i></td>
668 <td class="age"><i>1970-01-01</i></td>
669 <td><a class="list" href="/shortlog/1d22e65f027e?style=gitweb"><b>1d22e65f027e</b></a></td>
669 <td><a class="list" href="/shortlog/1d22e65f027e?style=gitweb"><b>1d22e65f027e</b></a></td>
670 <td class="">stable</td>
670 <td class="">stable</td>
671 <td class="link">
671 <td class="link">
672 <a href="/changeset/1d22e65f027e?style=gitweb">changeset</a> |
672 <a href="/changeset/1d22e65f027e?style=gitweb">changeset</a> |
673 <a href="/log/1d22e65f027e?style=gitweb">changelog</a> |
673 <a href="/log/1d22e65f027e?style=gitweb">changelog</a> |
674 <a href="/file/1d22e65f027e?style=gitweb">files</a>
674 <a href="/file/1d22e65f027e?style=gitweb">files</a>
675 </td>
675 </td>
676 </tr>
676 </tr>
677 <tr class="parity1">
677 <tr class="parity1">
678 <td class="age"><i>1970-01-01</i></td>
678 <td class="age"><i>1970-01-01</i></td>
679 <td><a class="list" href="/shortlog/a4f92ed23982?style=gitweb"><b>a4f92ed23982</b></a></td>
679 <td><a class="list" href="/shortlog/a4f92ed23982?style=gitweb"><b>a4f92ed23982</b></a></td>
680 <td class="">default</td>
680 <td class="">default</td>
681 <td class="link">
681 <td class="link">
682 <a href="/changeset/a4f92ed23982?style=gitweb">changeset</a> |
682 <a href="/changeset/a4f92ed23982?style=gitweb">changeset</a> |
683 <a href="/log/a4f92ed23982?style=gitweb">changelog</a> |
683 <a href="/log/a4f92ed23982?style=gitweb">changelog</a> |
684 <a href="/file/a4f92ed23982?style=gitweb">files</a>
684 <a href="/file/a4f92ed23982?style=gitweb">files</a>
685 </td>
685 </td>
686 </tr>
686 </tr>
687 <tr class="light">
687 <tr class="light">
688 <td colspan="4"><a class="list" href="#">...</a></td>
688 <td colspan="4"><a class="list" href="#">...</a></td>
689 </tr>
689 </tr>
690 </table>
690 </table>
691 <div class="page_footer">
691 <div class="page_footer">
692 <div class="page_footer_text">test</div>
692 <div class="page_footer_text">test</div>
693 <div class="rss_logo">
693 <div class="rss_logo">
694 <a href="/rss-log">RSS</a>
694 <a href="/rss-log">RSS</a>
695 <a href="/atom-log">Atom</a>
695 <a href="/atom-log">Atom</a>
696 </div>
696 </div>
697 <br />
697 <br />
698
698
699 </div>
699 </div>
700 </body>
700 </body>
701 </html>
701 </html>
702
702
703 200 Script output follows
703 200 Script output follows
704
704
705 <?xml version="1.0" encoding="ascii"?>
705 <?xml version="1.0" encoding="ascii"?>
706 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
706 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
707 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
707 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
708 <head>
708 <head>
709 <link rel="icon" href="/static/hgicon.png" type="image/png" />
709 <link rel="icon" href="/static/hgicon.png" type="image/png" />
710 <meta name="robots" content="index, nofollow"/>
710 <meta name="robots" content="index, nofollow"/>
711 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
711 <link rel="stylesheet" href="/static/style-gitweb.css" type="text/css" />
712
712
713
713
714 <title>test: Graph</title>
714 <title>test: Graph</title>
715 <link rel="alternate" type="application/atom+xml"
715 <link rel="alternate" type="application/atom+xml"
716 href="/atom-log" title="Atom feed for test"/>
716 href="/atom-log" title="Atom feed for test"/>
717 <link rel="alternate" type="application/rss+xml"
717 <link rel="alternate" type="application/rss+xml"
718 href="/rss-log" title="RSS feed for test"/>
718 href="/rss-log" title="RSS feed for test"/>
719 <!--[if IE]><script type="text/javascript" src="/static/excanvas.js"></script><![endif]-->
719 <!--[if IE]><script type="text/javascript" src="/static/excanvas.js"></script><![endif]-->
720 </head>
720 </head>
721 <body>
721 <body>
722
722
723 <div class="page_header">
723 <div class="page_header">
724 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / graph
724 <a href="http://mercurial.selenic.com/" title="Mercurial" style="float: right;">Mercurial</a><a href="/summary?style=gitweb">test</a> / graph
725 </div>
725 </div>
726
726
727 <form action="/log">
727 <form action="/log">
728 <input type="hidden" name="style" value="gitweb" />
728 <input type="hidden" name="style" value="gitweb" />
729 <div class="search">
729 <div class="search">
730 <input type="text" name="rev" />
730 <input type="text" name="rev" />
731 </div>
731 </div>
732 </form>
732 </form>
733 <div class="page_nav">
733 <div class="page_nav">
734 <a href="/summary?style=gitweb">summary</a> |
734 <a href="/summary?style=gitweb">summary</a> |
735 <a href="/shortlog?style=gitweb">shortlog</a> |
735 <a href="/shortlog?style=gitweb">shortlog</a> |
736 <a href="/log/2?style=gitweb">changelog</a> |
736 <a href="/log/2?style=gitweb">changelog</a> |
737 graph |
737 graph |
738 <a href="/tags?style=gitweb">tags</a> |
738 <a href="/tags?style=gitweb">tags</a> |
739 <a href="/branches?style=gitweb">branches</a> |
739 <a href="/branches?style=gitweb">branches</a> |
740 <a href="/file/1d22e65f027e?style=gitweb">files</a>
740 <a href="/file/1d22e65f027e?style=gitweb">files</a>
741 <br/>
741 <br/>
742 <a href="/graph/2?style=gitweb&revcount=30">less</a>
742 <a href="/graph/2?style=gitweb&revcount=30">less</a>
743 <a href="/graph/2?style=gitweb&revcount=120">more</a>
743 <a href="/graph/2?style=gitweb&revcount=120">more</a>
744 | <a href="/graph/2ef0ac749a14?style=gitweb">(0)</a> <a href="/graph/2ef0ac749a14?style=gitweb">-2</a> <a href="/graph/tip?style=gitweb">tip</a> <br/>
744 | <a href="/graph/2ef0ac749a14?style=gitweb">(0)</a> <a href="/graph/2ef0ac749a14?style=gitweb">-2</a> <a href="/graph/tip?style=gitweb">tip</a> <br/>
745 </div>
745 </div>
746
746
747 <div class="title">&nbsp;</div>
747 <div class="title">&nbsp;</div>
748
748
749 <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>
749 <noscript>The revision graph only works with JavaScript-enabled browsers.</noscript>
750
750
751 <div id="wrapper">
751 <div id="wrapper">
752 <ul id="nodebgs"></ul>
752 <ul id="nodebgs"></ul>
753 <canvas id="graph" width="224" height="129"></canvas>
753 <canvas id="graph" width="224" height="129"></canvas>
754 <ul id="graphnodes"></ul>
754 <ul id="graphnodes"></ul>
755 </div>
755 </div>
756
756
757 <script type="text/javascript" src="/static/graph.js"></script>
757 <script type="text/javascript" src="/static/graph.js"></script>
758 <script>
758 <script>
759 <!-- hide script content
759 <!-- hide script content
760
760
761 var data = [["1d22e65f027e", [0, 1], [[0, 0, 1]], "branch", "test", "1970-01-01", ["stable", true], ["tip"]], ["a4f92ed23982", [0, 1], [[0, 0, 1]], "Added tag 1.0 for changeset 2ef0ac749a14", "test", "1970-01-01", ["default", true], []], ["2ef0ac749a14", [0, 1], [], "base", "test", "1970-01-01", ["default", false], ["1.0"]]];
761 var data = [["1d22e65f027e", [0, 1], [[0, 0, 1]], "branch", "test", "1970-01-01", ["stable", true], ["tip"]], ["a4f92ed23982", [0, 1], [[0, 0, 1]], "Added tag 1.0 for changeset 2ef0ac749a14", "test", "1970-01-01", ["default", true], []], ["2ef0ac749a14", [0, 1], [], "base", "test", "1970-01-01", ["default", false], ["1.0"]]];
762 var graph = new Graph();
762 var graph = new Graph();
763 graph.scale(39);
763 graph.scale(39);
764
764
765 graph.edge = function(x0, y0, x1, y1, color) {
765 graph.edge = function(x0, y0, x1, y1, color) {
766
766
767 this.setColor(color, 0.0, 0.65);
767 this.setColor(color, 0.0, 0.65);
768 this.ctx.beginPath();
768 this.ctx.beginPath();
769 this.ctx.moveTo(x0, y0);
769 this.ctx.moveTo(x0, y0);
770 this.ctx.lineTo(x1, y1);
770 this.ctx.lineTo(x1, y1);
771 this.ctx.stroke();
771 this.ctx.stroke();
772
772
773 }
773 }
774
774
775 var revlink = '<li style="_STYLE"><span class="desc">';
775 var revlink = '<li style="_STYLE"><span class="desc">';
776 revlink += '<a class="list" href="/rev/_NODEID?style=gitweb" title="_NODEID"><b>_DESC</b></a>';
776 revlink += '<a class="list" href="/rev/_NODEID?style=gitweb" title="_NODEID"><b>_DESC</b></a>';
777 revlink += '</span> _TAGS';
777 revlink += '</span> _TAGS';
778 revlink += '<span class="info">_DATE ago, by _USER</span></li>';
778 revlink += '<span class="info">_DATE, by _USER</span></li>';
779
779
780 graph.vertex = function(x, y, color, parity, cur) {
780 graph.vertex = function(x, y, color, parity, cur) {
781
781
782 this.ctx.beginPath();
782 this.ctx.beginPath();
783 color = this.setColor(color, 0.25, 0.75);
783 color = this.setColor(color, 0.25, 0.75);
784 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
784 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
785 this.ctx.fill();
785 this.ctx.fill();
786
786
787 var bg = '<li class="bg parity' + parity + '"></li>';
787 var bg = '<li class="bg parity' + parity + '"></li>';
788 var left = (this.columns + 1) * this.bg_height;
788 var left = (this.columns + 1) * this.bg_height;
789 var nstyle = 'padding-left: ' + left + 'px;';
789 var nstyle = 'padding-left: ' + left + 'px;';
790 var item = revlink.replace(/_STYLE/, nstyle);
790 var item = revlink.replace(/_STYLE/, nstyle);
791 item = item.replace(/_PARITY/, 'parity' + parity);
791 item = item.replace(/_PARITY/, 'parity' + parity);
792 item = item.replace(/_NODEID/, cur[0]);
792 item = item.replace(/_NODEID/, cur[0]);
793 item = item.replace(/_NODEID/, cur[0]);
793 item = item.replace(/_NODEID/, cur[0]);
794 item = item.replace(/_DESC/, cur[3]);
794 item = item.replace(/_DESC/, cur[3]);
795 item = item.replace(/_USER/, cur[4]);
795 item = item.replace(/_USER/, cur[4]);
796 item = item.replace(/_DATE/, cur[5]);
796 item = item.replace(/_DATE/, cur[5]);
797
797
798 var tagspan = '';
798 var tagspan = '';
799 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
799 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
800 tagspan = '<span class="logtags">';
800 tagspan = '<span class="logtags">';
801 if (cur[6][1]) {
801 if (cur[6][1]) {
802 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
802 tagspan += '<span class="branchtag" title="' + cur[6][0] + '">';
803 tagspan += cur[6][0] + '</span> ';
803 tagspan += cur[6][0] + '</span> ';
804 } else if (!cur[6][1] && cur[6][0] != 'default') {
804 } else if (!cur[6][1] && cur[6][0] != 'default') {
805 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
805 tagspan += '<span class="inbranchtag" title="' + cur[6][0] + '">';
806 tagspan += cur[6][0] + '</span> ';
806 tagspan += cur[6][0] + '</span> ';
807 }
807 }
808 if (cur[7].length) {
808 if (cur[7].length) {
809 for (var t in cur[7]) {
809 for (var t in cur[7]) {
810 var tag = cur[7][t];
810 var tag = cur[7][t];
811 tagspan += '<span class="tagtag">' + tag + '</span> ';
811 tagspan += '<span class="tagtag">' + tag + '</span> ';
812 }
812 }
813 }
813 }
814 tagspan += '</span>';
814 tagspan += '</span>';
815 }
815 }
816
816
817 item = item.replace(/_TAGS/, tagspan);
817 item = item.replace(/_TAGS/, tagspan);
818 return [bg, item];
818 return [bg, item];
819
819
820 }
820 }
821
821
822 graph.render(data);
822 graph.render(data);
823
823
824 // stop hiding script -->
824 // stop hiding script -->
825 </script>
825 </script>
826
826
827 <div class="page_nav">
827 <div class="page_nav">
828 <a href="/graph/2?style=gitweb&revcount=30">less</a>
828 <a href="/graph/2?style=gitweb&revcount=30">less</a>
829 <a href="/graph/2?style=gitweb&revcount=120">more</a>
829 <a href="/graph/2?style=gitweb&revcount=120">more</a>
830 | <a href="/graph/2ef0ac749a14?style=gitweb">(0)</a> <a href="/graph/2ef0ac749a14?style=gitweb">-2</a> <a href="/graph/tip?style=gitweb">tip</a>
830 | <a href="/graph/2ef0ac749a14?style=gitweb">(0)</a> <a href="/graph/2ef0ac749a14?style=gitweb">-2</a> <a href="/graph/tip?style=gitweb">tip</a>
831 </div>
831 </div>
832
832
833 <div class="page_footer">
833 <div class="page_footer">
834 <div class="page_footer_text">test</div>
834 <div class="page_footer_text">test</div>
835 <div class="rss_logo">
835 <div class="rss_logo">
836 <a href="/rss-log">RSS</a>
836 <a href="/rss-log">RSS</a>
837 <a href="/atom-log">Atom</a>
837 <a href="/atom-log">Atom</a>
838 </div>
838 </div>
839 <br />
839 <br />
840
840
841 </div>
841 </div>
842 </body>
842 </body>
843 </html>
843 </html>
844
844
845 % capabilities
845 % capabilities
846 200 Script output follows
846 200 Script output follows
847
847
848 lookup changegroupsubset branchmap unbundle=HG10GZ,HG10BZ,HG10UN% heads
848 lookup changegroupsubset branchmap unbundle=HG10GZ,HG10BZ,HG10UN% heads
849 200 Script output follows
849 200 Script output follows
850
850
851 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe
851 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe
852 % lookup
852 % lookup
853 200 Script output follows
853 200 Script output follows
854
854
855 0 'key'
855 0 'key'
856 % branches
856 % branches
857 200 Script output follows
857 200 Script output follows
858
858
859 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe 2ef0ac749a14e4f57a5a822464a0902c6f7f448f 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
859 1d22e65f027e5a0609357e7d8e7508cd2ba5d2fe 2ef0ac749a14e4f57a5a822464a0902c6f7f448f 0000000000000000000000000000000000000000 0000000000000000000000000000000000000000
860 % changegroup
860 % changegroup
861 200 Script output follows
861 200 Script output follows
862
862
863 x\x9c\xbdTMHUA\x14\xbe\xa8\xf9\xec\xda&\x10\x11*\xb8\x88\x81\x99\xbef\xe6\xce\xbdw\xc6\xf2a\x16E\x1b\x11[%\x98\xcc\xaf\x8f\x8c\xf7\xc0\xf7\x82
863 x\x9c\xbdTMHUA\x14\xbe\xa8\xf9\xec\xda&\x10\x11*\xb8\x88\x81\x99\xbef\xe6\xce\xbdw\xc6\xf2a\x16E\x1b\x11[%\x98\xcc\xaf\x8f\x8c\xf7\xc0\xf7\x82
864 4\x11KP2m\x95\xad*\xabE\x05AP\xd0\xc22Z\x14\xf9\x03\xb9j\xa3\x9b$\xa4MJ\xb4\x90\xc0\x9a\x9bO0\x10\xdf\x13\xa2\x81\x0f\x869g\xe6|\xe7\x9c\xef\x8ceY\xf7\xa2KO\xd2\xb7K\x16~\
864 4\x11KP2m\x95\xad*\xabE\x05AP\xd0\xc22Z\x14\xf9\x03\xb9j\xa3\x9b$\xa4MJ\xb4\x90\xc0\x9a\x9bO0\x10\xdf\x13\xa2\x81\x0f\x869g\xe6|\xe7\x9c\xef\x8ceY\xf7\xa2KO\xd2\xb7K\x16~\
865 \xe9\xad\x90w\x86\xab\x93W\x8e\xdf\xb0r\\Y\xee6(\xa2)\xf6\x95\xc6\x01\xe4\x1az\x80R\xe8kN\x98\xe7R\xa4\xa9K@\xe0!A\xb4k\xa7U*m\x03\x07\xd8\x92\x1d\xd2\xc9\xa4\x1d\xc2\xe6,\xa5\xcc+\x1f\xef\xafDgi\xef\xab\x1d\x1d\xb7\x9a\xe7[W\xfbc\x8f\xde-\xcd\xe7\xcaz\xb3\xbb\x19\xd3\x81\x10>c>\x08\x00"X\x11\xc2\x84@\xd2\xe7B*L\x00\x01P\x04R\xc3@\xbaB0\xdb8#\x83:\x83\xa2h\xbc=\xcd\xdaS\xe1Y,L\xd3\xa0\xf2\xa8\x94J:\xe6\xd8\x81Q\xe0\xe8d\xa7#\xe2,\xd1\xaeR*\xed \xa5\x01\x13\x01\xa6\x0cb\xe3;\xbe\xaf\xfcK[^wK\xe1N\xaf\xbbk\xe8B\xd1\xf4\xc1\x07\xb3\xab[\x10\xfdkmvwcB\xa6\xa4\xd4G\xc4D\xc2\x141\xad\x91\x10\x00\x08J\x81\xcb}\xee\t\xee+W\xba\x8a\x80\x90|\xd4\xa0\xd6\xa0\xd4T\xde\xe1\x9d,!\xe2\xb5\xa94\xe3\xe7\xd5\x9f\x06\x18\xcba\x03aP\xb8f\xcd\x04\x1a_\\9\xf1\xed\xe4\x9e\xe5\xa6\xd1\xd2\x9f\x03\xa7o\xae\x90H\xf3\xfb\xef\xffH3\xadk
865 \xe9\xad\x90w\x86\xab\x93W\x8e\xdf\xb0r\\Y\xee6(\xa2)\xf6\x95\xc6\x01\xe4\x1az\x80R\xe8kN\x98\xe7R\xa4\xa9K@\xe0!A\xb4k\xa7U*m\x03\x07\xd8\x92\x1d\xd2\xc9\xa4\x1d\xc2\xe6,\xa5\xcc+\x1f\xef\xafDgi\xef\xab\x1d\x1d\xb7\x9a\xe7[W\xfbc\x8f\xde-\xcd\xe7\xcaz\xb3\xbb\x19\xd3\x81\x10>c>\x08\x00"X\x11\xc2\x84@\xd2\xe7B*L\x00\x01P\x04R\xc3@\xbaB0\xdb8#\x83:\x83\xa2h\xbc=\xcd\xdaS\xe1Y,L\xd3\xa0\xf2\xa8\x94J:\xe6\xd8\x81Q\xe0\xe8d\xa7#\xe2,\xd1\xaeR*\xed \xa5\x01\x13\x01\xa6\x0cb\xe3;\xbe\xaf\xfcK[^wK\xe1N\xaf\xbbk\xe8B\xd1\xf4\xc1\x07\xb3\xab[\x10\xfdkmvwcB\xa6\xa4\xd4G\xc4D\xc2\x141\xad\x91\x10\x00\x08J\x81\xcb}\xee\t\xee+W\xba\x8a\x80\x90|\xd4\xa0\xd6\xa0\xd4T\xde\xe1\x9d,!\xe2\xb5\xa94\xe3\xe7\xd5\x9f\x06\x18\xcba\x03aP\xb8f\xcd\x04\x1a_\\9\xf1\xed\xe4\x9e\xe5\xa6\xd1\xd2\x9f\x03\xa7o\xae\x90H\xf3\xfb\xef\xffH3\xadk
866 \xb0\x90\x92\x88\xb9\x14"\x068\xc2\x1e@\x00\xbb\x8a)\xd3\'\x859
866 \xb0\x90\x92\x88\xb9\x14"\x068\xc2\x1e@\x00\xbb\x8a)\xd3\'\x859
867 \xa8\x80\x84S \xa5\xbd-g\x13`\xe4\xdc\xc3H^\xdf\xe2\xc0TM\xc7\xf4BO\xcf\xde\xae\xe5\xae#\x1frM(K\x97`F\x19\x16s\x05GD\xb9\x01\xc1\x00+\x8c|\x9fp\xc11\xf0\x14\x00\x9cJ\x82<\xe0\x12\x9f\xc1\x90\xd0\xf5\xc8\x19>Pr\xaa\xeaW\xf5\xc4\xae\xd1\xfc\x17\xcf\'\x13u\xb1\x9e\xcdHnC\x0e\xcc`\xc8\xa0&\xac\x0e\xf1|\x8c\x10$\xc4\x8c\xa2p\x05`\xdc\x08 \x80\xc4\xd7Rr-\x94\x10\x102\xedi;\xf3f\xf1z\x16\x86\xdb\xd8d\xe5\xe7\x8b\xf5\x8d\rzp\xb2\xfe\xac\xf5\xf2\xd3\xfe\xfckws\xedt\x96b\xd5l\x1c\x0b\x85\xb5\x170\x8f\x11\x84\xb0\x8f\x19\xa0\x00\t_\x07\x1ac\xa2\xc3\x89Z\xe7\x96\xf9 \xccNFg\xc7F\xaa\x8a+\x9a\x9cc_\x17\x1b\x17\x9e]z38<\x97+\xb5,",\xc8\xc8?\\\x91\xff\x17.~U\x96\x97\xf5%\xdeN<\x8e\xf5\x97%\xe7^\xcfL\xed~\xda\x96k\xdc->\x86\x02\x83"\x96H\xa6\xe3\xaas=-\xeb7\xe5\xda\x8f\xbc
867 \xa8\x80\x84S \xa5\xbd-g\x13`\xe4\xdc\xc3H^\xdf\xe2\xc0TM\xc7\xf4BO\xcf\xde\xae\xe5\xae#\x1frM(K\x97`F\x19\x16s\x05GD\xb9\x01\xc1\x00+\x8c|\x9fp\xc11\xf0\x14\x00\x9cJ\x82<\xe0\x12\x9f\xc1\x90\xd0\xf5\xc8\x19>Pr\xaa\xeaW\xf5\xc4\xae\xd1\xfc\x17\xcf\'\x13u\xb1\x9e\xcdHnC\x0e\xcc`\xc8\xa0&\xac\x0e\xf1|\x8c\x10$\xc4\x8c\xa2p\x05`\xdc\x08 \x80\xc4\xd7Rr-\x94\x10\x102\xedi;\xf3f\xf1z\x16\x86\xdb\xd8d\xe5\xe7\x8b\xf5\x8d\rzp\xb2\xfe\xac\xf5\xf2\xd3\xfe\xfckws\xedt\x96b\xd5l\x1c\x0b\x85\xb5\x170\x8f\x11\x84\xb0\x8f\x19\xa0\x00\t_\x07\x1ac\xa2\xc3\x89Z\xe7\x96\xf9 \xccNFg\xc7F\xaa\x8a+\x9a\x9cc_\x17\x1b\x17\x9e]z38<\x97+\xb5,",\xc8\xc8?\\\x91\xff\x17.~U\x96\x97\xf5%\xdeN<\x8e\xf5\x97%\xe7^\xcfL\xed~\xda\x96k\xdc->\x86\x02\x83"\x96H\xa6\xe3\xaas=-\xeb7\xe5\xda\x8f\xbc
868 % stream_out
868 % stream_out
869 200 Script output follows
869 200 Script output follows
870
870
871 1
871 1
872 % failing unbundle, requires POST request
872 % failing unbundle, requires POST request
873 405 push requires POST request
873 405 push requires POST request
874
874
875 0
875 0
876 push requires POST request
876 push requires POST request
877 % Static files
877 % Static files
878 200 Script output follows
878 200 Script output follows
879
879
880 a { text-decoration:none; }
880 a { text-decoration:none; }
881 .age { white-space:nowrap; }
881 .age { white-space:nowrap; }
882 .date { white-space:nowrap; }
882 .date { white-space:nowrap; }
883 .indexlinks { white-space:nowrap; }
883 .indexlinks { white-space:nowrap; }
884 .parity0 { background-color: #ddd; }
884 .parity0 { background-color: #ddd; }
885 .parity1 { background-color: #eee; }
885 .parity1 { background-color: #eee; }
886 .lineno { width: 60px; color: #aaa; font-size: smaller;
886 .lineno { width: 60px; color: #aaa; font-size: smaller;
887 text-align: right; }
887 text-align: right; }
888 .plusline { color: green; }
888 .plusline { color: green; }
889 .minusline { color: red; }
889 .minusline { color: red; }
890 .atline { color: purple; }
890 .atline { color: purple; }
891 .annotate { font-size: smaller; text-align: right; padding-right: 1em; }
891 .annotate { font-size: smaller; text-align: right; padding-right: 1em; }
892 .buttons a {
892 .buttons a {
893 background-color: #666;
893 background-color: #666;
894 padding: 2pt;
894 padding: 2pt;
895 color: white;
895 color: white;
896 font-family: sans;
896 font-family: sans;
897 font-weight: bold;
897 font-weight: bold;
898 }
898 }
899 .navigate a {
899 .navigate a {
900 background-color: #ccc;
900 background-color: #ccc;
901 padding: 2pt;
901 padding: 2pt;
902 font-family: sans;
902 font-family: sans;
903 color: black;
903 color: black;
904 }
904 }
905
905
906 .metatag {
906 .metatag {
907 background-color: #888;
907 background-color: #888;
908 color: white;
908 color: white;
909 text-align: right;
909 text-align: right;
910 }
910 }
911
911
912 /* Common */
912 /* Common */
913 pre { margin: 0; }
913 pre { margin: 0; }
914
914
915 .logo {
915 .logo {
916 float: right;
916 float: right;
917 clear: right;
917 clear: right;
918 }
918 }
919
919
920 /* Changelog/Filelog entries */
920 /* Changelog/Filelog entries */
921 .logEntry { width: 100%; }
921 .logEntry { width: 100%; }
922 .logEntry .age { width: 15%; }
922 .logEntry .age { width: 15%; }
923 .logEntry th { font-weight: normal; text-align: right; vertical-align: top; }
923 .logEntry th { font-weight: normal; text-align: right; vertical-align: top; }
924 .logEntry th.age, .logEntry th.firstline { font-weight: bold; }
924 .logEntry th.age, .logEntry th.firstline { font-weight: bold; }
925 .logEntry th.firstline { text-align: left; width: inherit; }
925 .logEntry th.firstline { text-align: left; width: inherit; }
926
926
927 /* Shortlog entries */
927 /* Shortlog entries */
928 .slogEntry { width: 100%; }
928 .slogEntry { width: 100%; }
929 .slogEntry .age { width: 8em; }
929 .slogEntry .age { width: 8em; }
930 .slogEntry td { font-weight: normal; text-align: left; vertical-align: top; }
930 .slogEntry td { font-weight: normal; text-align: left; vertical-align: top; }
931 .slogEntry td.author { width: 15em; }
931 .slogEntry td.author { width: 15em; }
932
932
933 /* Tag entries */
933 /* Tag entries */
934 #tagEntries { list-style: none; margin: 0; padding: 0; }
934 #tagEntries { list-style: none; margin: 0; padding: 0; }
935 #tagEntries .tagEntry { list-style: none; margin: 0; padding: 0; }
935 #tagEntries .tagEntry { list-style: none; margin: 0; padding: 0; }
936
936
937 /* Changeset entry */
937 /* Changeset entry */
938 #changesetEntry { }
938 #changesetEntry { }
939 #changesetEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
939 #changesetEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
940 #changesetEntry th.files, #changesetEntry th.description { vertical-align: top; }
940 #changesetEntry th.files, #changesetEntry th.description { vertical-align: top; }
941
941
942 /* File diff view */
942 /* File diff view */
943 #filediffEntry { }
943 #filediffEntry { }
944 #filediffEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
944 #filediffEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; }
945
945
946 /* Graph */
946 /* Graph */
947 div#wrapper {
947 div#wrapper {
948 position: relative;
948 position: relative;
949 margin: 0;
949 margin: 0;
950 padding: 0;
950 padding: 0;
951 }
951 }
952
952
953 canvas {
953 canvas {
954 position: absolute;
954 position: absolute;
955 z-index: 5;
955 z-index: 5;
956 top: -0.6em;
956 top: -0.6em;
957 margin: 0;
957 margin: 0;
958 }
958 }
959
959
960 ul#nodebgs {
960 ul#nodebgs {
961 list-style: none inside none;
961 list-style: none inside none;
962 padding: 0;
962 padding: 0;
963 margin: 0;
963 margin: 0;
964 top: -0.7em;
964 top: -0.7em;
965 }
965 }
966
966
967 ul#graphnodes li, ul#nodebgs li {
967 ul#graphnodes li, ul#nodebgs li {
968 height: 39px;
968 height: 39px;
969 }
969 }
970
970
971 ul#graphnodes {
971 ul#graphnodes {
972 position: absolute;
972 position: absolute;
973 z-index: 10;
973 z-index: 10;
974 top: -0.85em;
974 top: -0.85em;
975 list-style: none inside none;
975 list-style: none inside none;
976 padding: 0;
976 padding: 0;
977 }
977 }
978
978
979 ul#graphnodes li .info {
979 ul#graphnodes li .info {
980 display: block;
980 display: block;
981 font-size: 70%;
981 font-size: 70%;
982 position: relative;
982 position: relative;
983 top: -1px;
983 top: -1px;
984 }
984 }
985 % ERRORS ENCOUNTERED
985 % ERRORS ENCOUNTERED
@@ -1,366 +1,366 b''
1 200 Script output follows
1 200 Script output follows
2
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
4 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
5 <head>
5 <head>
6 <link rel="icon" href="/static/hgicon.png" type="image/png" />
6 <link rel="icon" href="/static/hgicon.png" type="image/png" />
7 <meta name="robots" content="index, nofollow" />
7 <meta name="robots" content="index, nofollow" />
8 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
8 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
9
9
10 <title>test: log</title>
10 <title>test: log</title>
11 <link rel="alternate" type="application/atom+xml"
11 <link rel="alternate" type="application/atom+xml"
12 href="/atom-log" title="Atom feed for test" />
12 href="/atom-log" title="Atom feed for test" />
13 <link rel="alternate" type="application/rss+xml"
13 <link rel="alternate" type="application/rss+xml"
14 href="/rss-log" title="RSS feed for test" />
14 href="/rss-log" title="RSS feed for test" />
15 </head>
15 </head>
16 <body>
16 <body>
17
17
18 <div class="container">
18 <div class="container">
19 <div class="menu">
19 <div class="menu">
20 <div class="logo">
20 <div class="logo">
21 <a href="http://mercurial.selenic.com/">
21 <a href="http://mercurial.selenic.com/">
22 <img src="/static/hglogo.png" alt="mercurial" /></a>
22 <img src="/static/hglogo.png" alt="mercurial" /></a>
23 </div>
23 </div>
24 <ul>
24 <ul>
25 <li class="active">log</li>
25 <li class="active">log</li>
26 <li><a href="/graph/000000000000">graph</a></li>
26 <li><a href="/graph/000000000000">graph</a></li>
27 <li><a href="/tags">tags</a></li>
27 <li><a href="/tags">tags</a></li>
28 <li><a href="/branches">branches</a></li>
28 <li><a href="/branches">branches</a></li>
29 </ul>
29 </ul>
30 <ul>
30 <ul>
31 <li><a href="/rev/000000000000">changeset</a></li>
31 <li><a href="/rev/000000000000">changeset</a></li>
32 <li><a href="/file/000000000000">browse</a></li>
32 <li><a href="/file/000000000000">browse</a></li>
33 </ul>
33 </ul>
34 <ul>
34 <ul>
35
35
36 </ul>
36 </ul>
37 </div>
37 </div>
38
38
39 <div class="main">
39 <div class="main">
40 <h2><a href="/">test</a></h2>
40 <h2><a href="/">test</a></h2>
41 <h3>log</h3>
41 <h3>log</h3>
42
42
43 <form class="search" action="/log">
43 <form class="search" action="/log">
44
44
45 <p><input name="rev" id="search1" type="text" size="30" /></p>
45 <p><input name="rev" id="search1" type="text" size="30" /></p>
46 <div id="hint">find changesets by author, revision,
46 <div id="hint">find changesets by author, revision,
47 files, or words in the commit message</div>
47 files, or words in the commit message</div>
48 </form>
48 </form>
49
49
50 <div class="navigate">
50 <div class="navigate">
51 <a href="/shortlog/-1?revcount=30">less</a>
51 <a href="/shortlog/-1?revcount=30">less</a>
52 <a href="/shortlog/-1?revcount=120">more</a>
52 <a href="/shortlog/-1?revcount=120">more</a>
53 | rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a>
53 | rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a>
54 </div>
54 </div>
55
55
56 <table class="bigtable">
56 <table class="bigtable">
57 <tr>
57 <tr>
58 <th class="age">age</th>
58 <th class="age">age</th>
59 <th class="author">author</th>
59 <th class="author">author</th>
60 <th class="description">description</th>
60 <th class="description">description</th>
61 </tr>
61 </tr>
62
62
63 </table>
63 </table>
64
64
65 <div class="navigate">
65 <div class="navigate">
66 <a href="/shortlog/-1?revcount=30">less</a>
66 <a href="/shortlog/-1?revcount=30">less</a>
67 <a href="/shortlog/-1?revcount=120">more</a>
67 <a href="/shortlog/-1?revcount=120">more</a>
68 | rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a>
68 | rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a>
69 </div>
69 </div>
70
70
71 </div>
71 </div>
72 </div>
72 </div>
73
73
74
74
75
75
76 </body>
76 </body>
77 </html>
77 </html>
78
78
79 200 Script output follows
79 200 Script output follows
80
80
81 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
81 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
82 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
82 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
83 <head>
83 <head>
84 <link rel="icon" href="/static/hgicon.png" type="image/png" />
84 <link rel="icon" href="/static/hgicon.png" type="image/png" />
85 <meta name="robots" content="index, nofollow" />
85 <meta name="robots" content="index, nofollow" />
86 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
86 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
87
87
88 <title>test: log</title>
88 <title>test: log</title>
89 <link rel="alternate" type="application/atom+xml"
89 <link rel="alternate" type="application/atom+xml"
90 href="/atom-log" title="Atom feed for test" />
90 href="/atom-log" title="Atom feed for test" />
91 <link rel="alternate" type="application/rss+xml"
91 <link rel="alternate" type="application/rss+xml"
92 href="/rss-log" title="RSS feed for test" />
92 href="/rss-log" title="RSS feed for test" />
93 </head>
93 </head>
94 <body>
94 <body>
95
95
96 <div class="container">
96 <div class="container">
97 <div class="menu">
97 <div class="menu">
98 <div class="logo">
98 <div class="logo">
99 <a href="http://mercurial.selenic.com/">
99 <a href="http://mercurial.selenic.com/">
100 <img src="/static/hglogo.png" alt="mercurial" /></a>
100 <img src="/static/hglogo.png" alt="mercurial" /></a>
101 </div>
101 </div>
102 <ul>
102 <ul>
103 <li class="active">log</li>
103 <li class="active">log</li>
104 <li><a href="/graph/000000000000">graph</a></li>
104 <li><a href="/graph/000000000000">graph</a></li>
105 <li><a href="/tags">tags</a></li>
105 <li><a href="/tags">tags</a></li>
106 <li><a href="/branches">branches</a></li>
106 <li><a href="/branches">branches</a></li>
107 </ul>
107 </ul>
108 <ul>
108 <ul>
109 <li><a href="/rev/000000000000">changeset</a></li>
109 <li><a href="/rev/000000000000">changeset</a></li>
110 <li><a href="/file/000000000000">browse</a></li>
110 <li><a href="/file/000000000000">browse</a></li>
111 </ul>
111 </ul>
112 <ul>
112 <ul>
113
113
114 </ul>
114 </ul>
115 </div>
115 </div>
116
116
117 <div class="main">
117 <div class="main">
118 <h2><a href="/">test</a></h2>
118 <h2><a href="/">test</a></h2>
119 <h3>log</h3>
119 <h3>log</h3>
120
120
121 <form class="search" action="/log">
121 <form class="search" action="/log">
122
122
123 <p><input name="rev" id="search1" type="text" size="30" /></p>
123 <p><input name="rev" id="search1" type="text" size="30" /></p>
124 <div id="hint">find changesets by author, revision,
124 <div id="hint">find changesets by author, revision,
125 files, or words in the commit message</div>
125 files, or words in the commit message</div>
126 </form>
126 </form>
127
127
128 <div class="navigate">
128 <div class="navigate">
129 <a href="/shortlog/-1?revcount=5">less</a>
129 <a href="/shortlog/-1?revcount=5">less</a>
130 <a href="/shortlog/-1?revcount=20">more</a>
130 <a href="/shortlog/-1?revcount=20">more</a>
131 | rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a>
131 | rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a>
132 </div>
132 </div>
133
133
134 <table class="bigtable">
134 <table class="bigtable">
135 <tr>
135 <tr>
136 <th class="age">age</th>
136 <th class="age">age</th>
137 <th class="author">author</th>
137 <th class="author">author</th>
138 <th class="description">description</th>
138 <th class="description">description</th>
139 </tr>
139 </tr>
140
140
141 </table>
141 </table>
142
142
143 <div class="navigate">
143 <div class="navigate">
144 <a href="/shortlog/-1?revcount=5">less</a>
144 <a href="/shortlog/-1?revcount=5">less</a>
145 <a href="/shortlog/-1?revcount=20">more</a>
145 <a href="/shortlog/-1?revcount=20">more</a>
146 | rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a>
146 | rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a>
147 </div>
147 </div>
148
148
149 </div>
149 </div>
150 </div>
150 </div>
151
151
152
152
153
153
154 </body>
154 </body>
155 </html>
155 </html>
156
156
157 200 Script output follows
157 200 Script output follows
158
158
159 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
159 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
160 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
160 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
161 <head>
161 <head>
162 <link rel="icon" href="/static/hgicon.png" type="image/png" />
162 <link rel="icon" href="/static/hgicon.png" type="image/png" />
163 <meta name="robots" content="index, nofollow" />
163 <meta name="robots" content="index, nofollow" />
164 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
164 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
165
165
166 <title>test: revision graph</title>
166 <title>test: revision graph</title>
167 <link rel="alternate" type="application/atom+xml"
167 <link rel="alternate" type="application/atom+xml"
168 href="/atom-log" title="Atom feed for test: log" />
168 href="/atom-log" title="Atom feed for test: log" />
169 <link rel="alternate" type="application/rss+xml"
169 <link rel="alternate" type="application/rss+xml"
170 href="/rss-log" title="RSS feed for test: log" />
170 href="/rss-log" title="RSS feed for test: log" />
171 <!--[if IE]><script type="text/javascript" src="/static/excanvas.js"></script><![endif]-->
171 <!--[if IE]><script type="text/javascript" src="/static/excanvas.js"></script><![endif]-->
172 </head>
172 </head>
173 <body>
173 <body>
174
174
175 <div class="container">
175 <div class="container">
176 <div class="menu">
176 <div class="menu">
177 <div class="logo">
177 <div class="logo">
178 <a href="http://mercurial.selenic.com/">
178 <a href="http://mercurial.selenic.com/">
179 <img src="/static/hglogo.png" alt="mercurial" /></a>
179 <img src="/static/hglogo.png" alt="mercurial" /></a>
180 </div>
180 </div>
181 <ul>
181 <ul>
182 <li><a href="/shortlog/000000000000">log</a></li>
182 <li><a href="/shortlog/000000000000">log</a></li>
183 <li class="active">graph</li>
183 <li class="active">graph</li>
184 <li><a href="/tags">tags</a></li>
184 <li><a href="/tags">tags</a></li>
185 <li><a href="/branches">branches</a></li>
185 <li><a href="/branches">branches</a></li>
186 </ul>
186 </ul>
187 <ul>
187 <ul>
188 <li><a href="/rev/000000000000">changeset</a></li>
188 <li><a href="/rev/000000000000">changeset</a></li>
189 <li><a href="/file/000000000000">browse</a></li>
189 <li><a href="/file/000000000000">browse</a></li>
190 </ul>
190 </ul>
191 </div>
191 </div>
192
192
193 <div class="main">
193 <div class="main">
194 <h2><a href="/">test</a></h2>
194 <h2><a href="/">test</a></h2>
195 <h3>graph</h3>
195 <h3>graph</h3>
196
196
197 <form class="search" action="/log">
197 <form class="search" action="/log">
198
198
199 <p><input name="rev" id="search1" type="text" size="30" /></p>
199 <p><input name="rev" id="search1" type="text" size="30" /></p>
200 <div id="hint">find changesets by author, revision,
200 <div id="hint">find changesets by author, revision,
201 files, or words in the commit message</div>
201 files, or words in the commit message</div>
202 </form>
202 </form>
203
203
204 <div class="navigate">
204 <div class="navigate">
205 <a href="/graph/-1?revcount=30">less</a>
205 <a href="/graph/-1?revcount=30">less</a>
206 <a href="/graph/-1?revcount=120">more</a>
206 <a href="/graph/-1?revcount=120">more</a>
207 | rev -1: <a href="/graph/000000000000">(0)</a> <a href="/graph/tip">tip</a>
207 | rev -1: <a href="/graph/000000000000">(0)</a> <a href="/graph/tip">tip</a>
208 </div>
208 </div>
209
209
210 <noscript><p>The revision graph only works with JavaScript-enabled browsers.</p></noscript>
210 <noscript><p>The revision graph only works with JavaScript-enabled browsers.</p></noscript>
211
211
212 <div id="wrapper">
212 <div id="wrapper">
213 <ul id="nodebgs"></ul>
213 <ul id="nodebgs"></ul>
214 <canvas id="graph" width="224" height="12"></canvas>
214 <canvas id="graph" width="224" height="12"></canvas>
215 <ul id="graphnodes"></ul>
215 <ul id="graphnodes"></ul>
216 </div>
216 </div>
217
217
218 <script type="text/javascript" src="/static/graph.js"></script>
218 <script type="text/javascript" src="/static/graph.js"></script>
219 <script type="text/javascript">
219 <script type="text/javascript">
220 <!-- hide script content
220 <!-- hide script content
221
221
222 var data = [];
222 var data = [];
223 var graph = new Graph();
223 var graph = new Graph();
224 graph.scale(39);
224 graph.scale(39);
225
225
226 graph.edge = function(x0, y0, x1, y1, color) {
226 graph.edge = function(x0, y0, x1, y1, color) {
227
227
228 this.setColor(color, 0.0, 0.65);
228 this.setColor(color, 0.0, 0.65);
229 this.ctx.beginPath();
229 this.ctx.beginPath();
230 this.ctx.moveTo(x0, y0);
230 this.ctx.moveTo(x0, y0);
231 this.ctx.lineTo(x1, y1);
231 this.ctx.lineTo(x1, y1);
232 this.ctx.stroke();
232 this.ctx.stroke();
233
233
234 }
234 }
235
235
236 var revlink = '<li style="_STYLE"><span class="desc">';
236 var revlink = '<li style="_STYLE"><span class="desc">';
237 revlink += '<a href="/rev/_NODEID" title="_NODEID">_DESC</a>';
237 revlink += '<a href="/rev/_NODEID" title="_NODEID">_DESC</a>';
238 revlink += '</span>_TAGS<span class="info">_DATE ago, by _USER</span></li>';
238 revlink += '</span>_TAGS<span class="info">_DATE, by _USER</span></li>';
239
239
240 graph.vertex = function(x, y, color, parity, cur) {
240 graph.vertex = function(x, y, color, parity, cur) {
241
241
242 this.ctx.beginPath();
242 this.ctx.beginPath();
243 color = this.setColor(color, 0.25, 0.75);
243 color = this.setColor(color, 0.25, 0.75);
244 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
244 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
245 this.ctx.fill();
245 this.ctx.fill();
246
246
247 var bg = '<li class="bg parity' + parity + '"></li>';
247 var bg = '<li class="bg parity' + parity + '"></li>';
248 var left = (this.columns + 1) * this.bg_height;
248 var left = (this.columns + 1) * this.bg_height;
249 var nstyle = 'padding-left: ' + left + 'px;';
249 var nstyle = 'padding-left: ' + left + 'px;';
250 var item = revlink.replace(/_STYLE/, nstyle);
250 var item = revlink.replace(/_STYLE/, nstyle);
251 item = item.replace(/_PARITY/, 'parity' + parity);
251 item = item.replace(/_PARITY/, 'parity' + parity);
252 item = item.replace(/_NODEID/, cur[0]);
252 item = item.replace(/_NODEID/, cur[0]);
253 item = item.replace(/_NODEID/, cur[0]);
253 item = item.replace(/_NODEID/, cur[0]);
254 item = item.replace(/_DESC/, cur[3]);
254 item = item.replace(/_DESC/, cur[3]);
255 item = item.replace(/_USER/, cur[4]);
255 item = item.replace(/_USER/, cur[4]);
256 item = item.replace(/_DATE/, cur[5]);
256 item = item.replace(/_DATE/, cur[5]);
257
257
258 var tagspan = '';
258 var tagspan = '';
259 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
259 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
260 tagspan = '<span class="logtags">';
260 tagspan = '<span class="logtags">';
261 if (cur[6][1]) {
261 if (cur[6][1]) {
262 tagspan += '<span class="branchhead" title="' + cur[6][0] + '">';
262 tagspan += '<span class="branchhead" title="' + cur[6][0] + '">';
263 tagspan += cur[6][0] + '</span> ';
263 tagspan += cur[6][0] + '</span> ';
264 } else if (!cur[6][1] && cur[6][0] != 'default') {
264 } else if (!cur[6][1] && cur[6][0] != 'default') {
265 tagspan += '<span class="branchname" title="' + cur[6][0] + '">';
265 tagspan += '<span class="branchname" title="' + cur[6][0] + '">';
266 tagspan += cur[6][0] + '</span> ';
266 tagspan += cur[6][0] + '</span> ';
267 }
267 }
268 if (cur[7].length) {
268 if (cur[7].length) {
269 for (var t in cur[7]) {
269 for (var t in cur[7]) {
270 var tag = cur[7][t];
270 var tag = cur[7][t];
271 tagspan += '<span class="tag">' + tag + '</span> ';
271 tagspan += '<span class="tag">' + tag + '</span> ';
272 }
272 }
273 }
273 }
274 tagspan += '</span>';
274 tagspan += '</span>';
275 }
275 }
276
276
277 item = item.replace(/_TAGS/, tagspan);
277 item = item.replace(/_TAGS/, tagspan);
278 return [bg, item];
278 return [bg, item];
279
279
280 }
280 }
281
281
282 graph.render(data);
282 graph.render(data);
283
283
284 // stop hiding script -->
284 // stop hiding script -->
285 </script>
285 </script>
286
286
287 <div class="navigate">
287 <div class="navigate">
288 <a href="/graph/-1?revcount=30">less</a>
288 <a href="/graph/-1?revcount=30">less</a>
289 <a href="/graph/-1?revcount=120">more</a>
289 <a href="/graph/-1?revcount=120">more</a>
290 | rev -1: <a href="/graph/000000000000">(0)</a> <a href="/graph/tip">tip</a>
290 | rev -1: <a href="/graph/000000000000">(0)</a> <a href="/graph/tip">tip</a>
291 </div>
291 </div>
292
292
293 </div>
293 </div>
294 </div>
294 </div>
295
295
296
296
297
297
298 </body>
298 </body>
299 </html>
299 </html>
300
300
301 200 Script output follows
301 200 Script output follows
302
302
303 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
303 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
304 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
304 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
305 <head>
305 <head>
306 <link rel="icon" href="/static/hgicon.png" type="image/png" />
306 <link rel="icon" href="/static/hgicon.png" type="image/png" />
307 <meta name="robots" content="index, nofollow" />
307 <meta name="robots" content="index, nofollow" />
308 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
308 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
309
309
310 <title>test: 000000000000 /</title>
310 <title>test: 000000000000 /</title>
311 </head>
311 </head>
312 <body>
312 <body>
313
313
314 <div class="container">
314 <div class="container">
315 <div class="menu">
315 <div class="menu">
316 <div class="logo">
316 <div class="logo">
317 <a href="http://mercurial.selenic.com/">
317 <a href="http://mercurial.selenic.com/">
318 <img src="/static/hglogo.png" alt="mercurial" /></a>
318 <img src="/static/hglogo.png" alt="mercurial" /></a>
319 </div>
319 </div>
320 <ul>
320 <ul>
321 <li><a href="/shortlog/000000000000">log</a></li>
321 <li><a href="/shortlog/000000000000">log</a></li>
322 <li><a href="/graph/000000000000">graph</a></li>
322 <li><a href="/graph/000000000000">graph</a></li>
323 <li><a href="/tags">tags</a></li>
323 <li><a href="/tags">tags</a></li>
324 <li><a href="/branches">branches</a></li>
324 <li><a href="/branches">branches</a></li>
325 </ul>
325 </ul>
326 <ul>
326 <ul>
327 <li><a href="/rev/000000000000">changeset</a></li>
327 <li><a href="/rev/000000000000">changeset</a></li>
328 <li class="active">browse</li>
328 <li class="active">browse</li>
329 </ul>
329 </ul>
330 <ul>
330 <ul>
331
331
332 </ul>
332 </ul>
333 </div>
333 </div>
334
334
335 <div class="main">
335 <div class="main">
336 <h2><a href="/">test</a></h2>
336 <h2><a href="/">test</a></h2>
337 <h3>directory / @ -1:000000000000 <span class="tag">tip</span> </h3>
337 <h3>directory / @ -1:000000000000 <span class="tag">tip</span> </h3>
338
338
339 <form class="search" action="/log">
339 <form class="search" action="/log">
340
340
341 <p><input name="rev" id="search1" type="text" size="30" /></p>
341 <p><input name="rev" id="search1" type="text" size="30" /></p>
342 <div id="hint">find changesets by author, revision,
342 <div id="hint">find changesets by author, revision,
343 files, or words in the commit message</div>
343 files, or words in the commit message</div>
344 </form>
344 </form>
345
345
346 <table class="bigtable">
346 <table class="bigtable">
347 <tr>
347 <tr>
348 <th class="name">name</th>
348 <th class="name">name</th>
349 <th class="size">size</th>
349 <th class="size">size</th>
350 <th class="permissions">permissions</th>
350 <th class="permissions">permissions</th>
351 </tr>
351 </tr>
352 <tr class="fileline parity0">
352 <tr class="fileline parity0">
353 <td class="name"><a href="/file/000000000000/">[up]</a></td>
353 <td class="name"><a href="/file/000000000000/">[up]</a></td>
354 <td class="size"></td>
354 <td class="size"></td>
355 <td class="permissions">drwxr-xr-x</td>
355 <td class="permissions">drwxr-xr-x</td>
356 </tr>
356 </tr>
357
357
358
358
359 </table>
359 </table>
360 </div>
360 </div>
361 </div>
361 </div>
362
362
363
363
364 </body>
364 </body>
365 </html>
365 </html>
366
366
General Comments 0
You need to be logged in to leave comments. Login now