##// END OF EJS Templates
test-hgweb-diffs: partially adapt for Windows...
Adrian Buehlmann -
r17109:7ba2b943 default
parent child Browse files
Show More
@@ -1,602 +1,615 b''
1 $ "$TESTDIR/hghave" serve execbit || exit 80
1 $ "$TESTDIR/hghave" serve || exit 80
2
2
3 setting up repo
3 setting up repo
4
4
5 $ hg init test
5 $ hg init test
6 $ cd test
6 $ cd test
7 $ echo a > a
7 $ echo a > a
8 $ echo b > b
8 $ echo b > b
9 $ hg ci -Ama
9 $ hg ci -Ama
10 adding a
10 adding a
11 adding b
11 adding b
12
12
13 change permissions for git diffs
13 change permissions for git diffs
14
14
15 $ chmod +x a
15 $ hg import -q --bypass - <<EOF
16 $ hg rm b
16 > # HG changeset patch
17 $ hg ci -Amb
17 > # User test
18 > # Date 0 0
19 > b
20 >
21 > diff --git a/a b/a
22 > old mode 100644
23 > new mode 100755
24 > diff --git a/b b/b
25 > deleted file mode 100644
26 > --- a/b
27 > +++ /dev/null
28 > @@ -1,1 +0,0 @@
29 > -b
30 > EOF
18
31
19 set up hgweb
32 set up hgweb
20
33
21 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
34 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
22 $ cat hg.pid >> $DAEMON_PIDS
35 $ cat hg.pid >> $DAEMON_PIDS
23
36
24 revision
37 revision
25
38
26 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'rev/0'
39 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'rev/0'
27 200 Script output follows
40 200 Script output follows
28
41
29 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
42 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
30 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
43 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
31 <head>
44 <head>
32 <link rel="icon" href="/static/hgicon.png" type="image/png" />
45 <link rel="icon" href="/static/hgicon.png" type="image/png" />
33 <meta name="robots" content="index, nofollow" />
46 <meta name="robots" content="index, nofollow" />
34 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
47 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
35 <script type="text/javascript" src="/static/mercurial.js"></script>
48 <script type="text/javascript" src="/static/mercurial.js"></script>
36
49
37 <title>test: 0cd96de13884</title>
50 <title>test: 0cd96de13884</title>
38 </head>
51 </head>
39 <body>
52 <body>
40 <div class="container">
53 <div class="container">
41 <div class="menu">
54 <div class="menu">
42 <div class="logo">
55 <div class="logo">
43 <a href="http://mercurial.selenic.com/">
56 <a href="http://mercurial.selenic.com/">
44 <img src="/static/hglogo.png" alt="mercurial" /></a>
57 <img src="/static/hglogo.png" alt="mercurial" /></a>
45 </div>
58 </div>
46 <ul>
59 <ul>
47 <li><a href="/shortlog/0cd96de13884">log</a></li>
60 <li><a href="/shortlog/0cd96de13884">log</a></li>
48 <li><a href="/graph/0cd96de13884">graph</a></li>
61 <li><a href="/graph/0cd96de13884">graph</a></li>
49 <li><a href="/tags">tags</a></li>
62 <li><a href="/tags">tags</a></li>
50 <li><a href="/bookmarks">bookmarks</a></li>
63 <li><a href="/bookmarks">bookmarks</a></li>
51 <li><a href="/branches">branches</a></li>
64 <li><a href="/branches">branches</a></li>
52 </ul>
65 </ul>
53 <ul>
66 <ul>
54 <li class="active">changeset</li>
67 <li class="active">changeset</li>
55 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
68 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
56 <li><a href="/file/0cd96de13884">browse</a></li>
69 <li><a href="/file/0cd96de13884">browse</a></li>
57 </ul>
70 </ul>
58 <ul>
71 <ul>
59
72
60 </ul>
73 </ul>
61 <ul>
74 <ul>
62 <li><a href="/help">help</a></li>
75 <li><a href="/help">help</a></li>
63 </ul>
76 </ul>
64 </div>
77 </div>
65
78
66 <div class="main">
79 <div class="main">
67
80
68 <h2><a href="/">test</a></h2>
81 <h2><a href="/">test</a></h2>
69 <h3>changeset 0:0cd96de13884 </h3>
82 <h3>changeset 0:0cd96de13884 </h3>
70
83
71 <form class="search" action="/log">
84 <form class="search" action="/log">
72
85
73 <p><input name="rev" id="search1" type="text" size="30" /></p>
86 <p><input name="rev" id="search1" type="text" size="30" /></p>
74 <div id="hint">find changesets by author, revision,
87 <div id="hint">find changesets by author, revision,
75 files, or words in the commit message</div>
88 files, or words in the commit message</div>
76 </form>
89 </form>
77
90
78 <div class="description">a</div>
91 <div class="description">a</div>
79
92
80 <table id="changesetEntry">
93 <table id="changesetEntry">
81 <tr>
94 <tr>
82 <th class="author">author</th>
95 <th class="author">author</th>
83 <td class="author">&#116;&#101;&#115;&#116;</td>
96 <td class="author">&#116;&#101;&#115;&#116;</td>
84 </tr>
97 </tr>
85 <tr>
98 <tr>
86 <th class="date">date</th>
99 <th class="date">date</th>
87 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
100 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
88 <tr>
101 <tr>
89 <th class="author">parents</th>
102 <th class="author">parents</th>
90 <td class="author"></td>
103 <td class="author"></td>
91 </tr>
104 </tr>
92 <tr>
105 <tr>
93 <th class="author">children</th>
106 <th class="author">children</th>
94 <td class="author"> <a href="/rev/559edbd9ed20">559edbd9ed20</a></td>
107 <td class="author"> <a href="/rev/559edbd9ed20">559edbd9ed20</a></td>
95 </tr>
108 </tr>
96 <tr>
109 <tr>
97 <th class="files">files</th>
110 <th class="files">files</th>
98 <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
111 <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
99 </tr>
112 </tr>
100 <tr>
113 <tr>
101 <th class="diffstat">diffstat</th>
114 <th class="diffstat">diffstat</th>
102 <td class="diffstat">
115 <td class="diffstat">
103 2 files changed, 2 insertions(+), 0 deletions(-)
116 2 files changed, 2 insertions(+), 0 deletions(-)
104
117
105 <a id="diffstatexpand" href="javascript:showDiffstat()"/>[<tt>+</tt>]</a>
118 <a id="diffstatexpand" href="javascript:showDiffstat()"/>[<tt>+</tt>]</a>
106 <div id="diffstatdetails" style="display:none;">
119 <div id="diffstatdetails" style="display:none;">
107 <a href="javascript:hideDiffstat()"/>[<tt>-</tt>]</a>
120 <a href="javascript:hideDiffstat()"/>[<tt>-</tt>]</a>
108 <p>
121 <p>
109 <table> <tr class="parity0">
122 <table> <tr class="parity0">
110 <td class="diffstat-file"><a href="#l1.1">a</a></td>
123 <td class="diffstat-file"><a href="#l1.1">a</a></td>
111 <td class="diffstat-total" align="right">1</td>
124 <td class="diffstat-total" align="right">1</td>
112 <td class="diffstat-graph">
125 <td class="diffstat-graph">
113 <span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
126 <span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
114 <span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
127 <span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
115 </td>
128 </td>
116 </tr>
129 </tr>
117 <tr class="parity1">
130 <tr class="parity1">
118 <td class="diffstat-file"><a href="#l2.1">b</a></td>
131 <td class="diffstat-file"><a href="#l2.1">b</a></td>
119 <td class="diffstat-total" align="right">1</td>
132 <td class="diffstat-total" align="right">1</td>
120 <td class="diffstat-graph">
133 <td class="diffstat-graph">
121 <span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
134 <span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
122 <span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
135 <span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
123 </td>
136 </td>
124 </tr>
137 </tr>
125 </table>
138 </table>
126 </div>
139 </div>
127 </td>
140 </td>
128 </tr>
141 </tr>
129 </table>
142 </table>
130
143
131 <div class="overflow">
144 <div class="overflow">
132 <div class="sourcefirst"> line diff</div>
145 <div class="sourcefirst"> line diff</div>
133
146
134 <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
147 <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
135 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ b/a Thu Jan 01 00:00:00 1970 +0000
148 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ b/a Thu Jan 01 00:00:00 1970 +0000
136 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
149 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
137 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+a
150 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+a
138 </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
151 </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
139 </span><a href="#l2.2" id="l2.2"> 2.2</a> <span class="plusline">+++ b/b Thu Jan 01 00:00:00 1970 +0000
152 </span><a href="#l2.2" id="l2.2"> 2.2</a> <span class="plusline">+++ b/b Thu Jan 01 00:00:00 1970 +0000
140 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="atline">@@ -0,0 +1,1 @@
153 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="atline">@@ -0,0 +1,1 @@
141 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="plusline">+b
154 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="plusline">+b
142 </span></pre></div>
155 </span></pre></div>
143 </div>
156 </div>
144
157
145 </div>
158 </div>
146 </div>
159 </div>
147 <script type="text/javascript">process_dates()</script>
160 <script type="text/javascript">process_dates()</script>
148
161
149
162
150 </body>
163 </body>
151 </html>
164 </html>
152
165
153
166
154 raw revision
167 raw revision
155
168
156 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'raw-rev/0'
169 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'raw-rev/0'
157 200 Script output follows
170 200 Script output follows
158
171
159
172
160 # HG changeset patch
173 # HG changeset patch
161 # User test
174 # User test
162 # Date 0 0
175 # Date 0 0
163 # Node ID 0cd96de13884b090099512d4794ae87ad067ea8e
176 # Node ID 0cd96de13884b090099512d4794ae87ad067ea8e
164
177
165 a
178 a
166
179
167 diff -r 000000000000 -r 0cd96de13884 a
180 diff -r 000000000000 -r 0cd96de13884 a
168 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
181 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
169 +++ b/a Thu Jan 01 00:00:00 1970 +0000
182 +++ b/a Thu Jan 01 00:00:00 1970 +0000
170 @@ -0,0 +1,1 @@
183 @@ -0,0 +1,1 @@
171 +a
184 +a
172 diff -r 000000000000 -r 0cd96de13884 b
185 diff -r 000000000000 -r 0cd96de13884 b
173 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
186 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
174 +++ b/b Thu Jan 01 00:00:00 1970 +0000
187 +++ b/b Thu Jan 01 00:00:00 1970 +0000
175 @@ -0,0 +1,1 @@
188 @@ -0,0 +1,1 @@
176 +b
189 +b
177
190
178
191
179 diff removed file
192 diff removed file
180
193
181 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'diff/tip/b'
194 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'diff/tip/b'
182 200 Script output follows
195 200 Script output follows
183
196
184 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
197 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
185 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
198 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
186 <head>
199 <head>
187 <link rel="icon" href="/static/hgicon.png" type="image/png" />
200 <link rel="icon" href="/static/hgicon.png" type="image/png" />
188 <meta name="robots" content="index, nofollow" />
201 <meta name="robots" content="index, nofollow" />
189 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
202 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
190 <script type="text/javascript" src="/static/mercurial.js"></script>
203 <script type="text/javascript" src="/static/mercurial.js"></script>
191
204
192 <title>test: b diff</title>
205 <title>test: b diff</title>
193 </head>
206 </head>
194 <body>
207 <body>
195
208
196 <div class="container">
209 <div class="container">
197 <div class="menu">
210 <div class="menu">
198 <div class="logo">
211 <div class="logo">
199 <a href="http://mercurial.selenic.com/">
212 <a href="http://mercurial.selenic.com/">
200 <img src="/static/hglogo.png" alt="mercurial" /></a>
213 <img src="/static/hglogo.png" alt="mercurial" /></a>
201 </div>
214 </div>
202 <ul>
215 <ul>
203 <li><a href="/shortlog/559edbd9ed20">log</a></li>
216 <li><a href="/shortlog/559edbd9ed20">log</a></li>
204 <li><a href="/graph/559edbd9ed20">graph</a></li>
217 <li><a href="/graph/559edbd9ed20">graph</a></li>
205 <li><a href="/tags">tags</a></li>
218 <li><a href="/tags">tags</a></li>
206 <li><a href="/bookmarks">bookmarks</a></li>
219 <li><a href="/bookmarks">bookmarks</a></li>
207 <li><a href="/branches">branches</a></li>
220 <li><a href="/branches">branches</a></li>
208 </ul>
221 </ul>
209 <ul>
222 <ul>
210 <li><a href="/rev/559edbd9ed20">changeset</a></li>
223 <li><a href="/rev/559edbd9ed20">changeset</a></li>
211 <li><a href="/file/559edbd9ed20">browse</a></li>
224 <li><a href="/file/559edbd9ed20">browse</a></li>
212 </ul>
225 </ul>
213 <ul>
226 <ul>
214 <li><a href="/file/559edbd9ed20/b">file</a></li>
227 <li><a href="/file/559edbd9ed20/b">file</a></li>
215 <li><a href="/file/tip/b">latest</a></li>
228 <li><a href="/file/tip/b">latest</a></li>
216 <li class="active">diff</li>
229 <li class="active">diff</li>
217 <li><a href="/annotate/559edbd9ed20/b">annotate</a></li>
230 <li><a href="/annotate/559edbd9ed20/b">annotate</a></li>
218 <li><a href="/log/559edbd9ed20/b">file log</a></li>
231 <li><a href="/log/559edbd9ed20/b">file log</a></li>
219 <li><a href="/raw-file/559edbd9ed20/b">raw</a></li>
232 <li><a href="/raw-file/559edbd9ed20/b">raw</a></li>
220 </ul>
233 </ul>
221 <ul>
234 <ul>
222 <li><a href="/help">help</a></li>
235 <li><a href="/help">help</a></li>
223 </ul>
236 </ul>
224 </div>
237 </div>
225
238
226 <div class="main">
239 <div class="main">
227 <h2><a href="/">test</a></h2>
240 <h2><a href="/">test</a></h2>
228 <h3>diff b @ 1:559edbd9ed20</h3>
241 <h3>diff b @ 1:559edbd9ed20</h3>
229
242
230 <form class="search" action="/log">
243 <form class="search" action="/log">
231 <p></p>
244 <p></p>
232 <p><input name="rev" id="search1" type="text" size="30" /></p>
245 <p><input name="rev" id="search1" type="text" size="30" /></p>
233 <div id="hint">find changesets by author, revision,
246 <div id="hint">find changesets by author, revision,
234 files, or words in the commit message</div>
247 files, or words in the commit message</div>
235 </form>
248 </form>
236
249
237 <div class="description">b</div>
250 <div class="description">b</div>
238
251
239 <table id="changesetEntry">
252 <table id="changesetEntry">
240 <tr>
253 <tr>
241 <th>author</th>
254 <th>author</th>
242 <td>&#116;&#101;&#115;&#116;</td>
255 <td>&#116;&#101;&#115;&#116;</td>
243 </tr>
256 </tr>
244 <tr>
257 <tr>
245 <th>date</th>
258 <th>date</th>
246 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
259 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
247 </tr>
260 </tr>
248 <tr>
261 <tr>
249 <th>parents</th>
262 <th>parents</th>
250 <td><a href="/file/0cd96de13884/b">0cd96de13884</a> </td>
263 <td><a href="/file/0cd96de13884/b">0cd96de13884</a> </td>
251 </tr>
264 </tr>
252 <tr>
265 <tr>
253 <th>children</th>
266 <th>children</th>
254 <td></td>
267 <td></td>
255 </tr>
268 </tr>
256
269
257 </table>
270 </table>
258
271
259 <div class="overflow">
272 <div class="overflow">
260 <div class="sourcefirst"> line diff</div>
273 <div class="sourcefirst"> line diff</div>
261
274
262 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- a/b Thu Jan 01 00:00:00 1970 +0000
275 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- a/b Thu Jan 01 00:00:00 1970 +0000
263 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
276 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
264 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -1,1 +0,0 @@
277 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -1,1 +0,0 @@
265 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="minusline">-b
278 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="minusline">-b
266 </span></pre></div>
279 </span></pre></div>
267 </div>
280 </div>
268 </div>
281 </div>
269 </div>
282 </div>
270
283
271 <script type="text/javascript">process_dates()</script>
284 <script type="text/javascript">process_dates()</script>
272
285
273
286
274 </body>
287 </body>
275 </html>
288 </html>
276
289
277
290
278 set up hgweb with git diffs
291 set up hgweb with git diffs
279
292
280 $ "$TESTDIR/killdaemons.py"
293 $ "$TESTDIR/killdaemons.py"
281 $ hg serve --config 'diff.git=1' -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
294 $ hg serve --config 'diff.git=1' -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
282 $ cat hg.pid >> $DAEMON_PIDS
295 $ cat hg.pid >> $DAEMON_PIDS
283
296
284 revision
297 revision
285
298
286 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'rev/0'
299 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'rev/0'
287 200 Script output follows
300 200 Script output follows
288
301
289 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
302 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
290 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
303 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
291 <head>
304 <head>
292 <link rel="icon" href="/static/hgicon.png" type="image/png" />
305 <link rel="icon" href="/static/hgicon.png" type="image/png" />
293 <meta name="robots" content="index, nofollow" />
306 <meta name="robots" content="index, nofollow" />
294 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
307 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
295 <script type="text/javascript" src="/static/mercurial.js"></script>
308 <script type="text/javascript" src="/static/mercurial.js"></script>
296
309
297 <title>test: 0cd96de13884</title>
310 <title>test: 0cd96de13884</title>
298 </head>
311 </head>
299 <body>
312 <body>
300 <div class="container">
313 <div class="container">
301 <div class="menu">
314 <div class="menu">
302 <div class="logo">
315 <div class="logo">
303 <a href="http://mercurial.selenic.com/">
316 <a href="http://mercurial.selenic.com/">
304 <img src="/static/hglogo.png" alt="mercurial" /></a>
317 <img src="/static/hglogo.png" alt="mercurial" /></a>
305 </div>
318 </div>
306 <ul>
319 <ul>
307 <li><a href="/shortlog/0cd96de13884">log</a></li>
320 <li><a href="/shortlog/0cd96de13884">log</a></li>
308 <li><a href="/graph/0cd96de13884">graph</a></li>
321 <li><a href="/graph/0cd96de13884">graph</a></li>
309 <li><a href="/tags">tags</a></li>
322 <li><a href="/tags">tags</a></li>
310 <li><a href="/bookmarks">bookmarks</a></li>
323 <li><a href="/bookmarks">bookmarks</a></li>
311 <li><a href="/branches">branches</a></li>
324 <li><a href="/branches">branches</a></li>
312 </ul>
325 </ul>
313 <ul>
326 <ul>
314 <li class="active">changeset</li>
327 <li class="active">changeset</li>
315 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
328 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
316 <li><a href="/file/0cd96de13884">browse</a></li>
329 <li><a href="/file/0cd96de13884">browse</a></li>
317 </ul>
330 </ul>
318 <ul>
331 <ul>
319
332
320 </ul>
333 </ul>
321 <ul>
334 <ul>
322 <li><a href="/help">help</a></li>
335 <li><a href="/help">help</a></li>
323 </ul>
336 </ul>
324 </div>
337 </div>
325
338
326 <div class="main">
339 <div class="main">
327
340
328 <h2><a href="/">test</a></h2>
341 <h2><a href="/">test</a></h2>
329 <h3>changeset 0:0cd96de13884 </h3>
342 <h3>changeset 0:0cd96de13884 </h3>
330
343
331 <form class="search" action="/log">
344 <form class="search" action="/log">
332
345
333 <p><input name="rev" id="search1" type="text" size="30" /></p>
346 <p><input name="rev" id="search1" type="text" size="30" /></p>
334 <div id="hint">find changesets by author, revision,
347 <div id="hint">find changesets by author, revision,
335 files, or words in the commit message</div>
348 files, or words in the commit message</div>
336 </form>
349 </form>
337
350
338 <div class="description">a</div>
351 <div class="description">a</div>
339
352
340 <table id="changesetEntry">
353 <table id="changesetEntry">
341 <tr>
354 <tr>
342 <th class="author">author</th>
355 <th class="author">author</th>
343 <td class="author">&#116;&#101;&#115;&#116;</td>
356 <td class="author">&#116;&#101;&#115;&#116;</td>
344 </tr>
357 </tr>
345 <tr>
358 <tr>
346 <th class="date">date</th>
359 <th class="date">date</th>
347 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
360 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td></tr>
348 <tr>
361 <tr>
349 <th class="author">parents</th>
362 <th class="author">parents</th>
350 <td class="author"></td>
363 <td class="author"></td>
351 </tr>
364 </tr>
352 <tr>
365 <tr>
353 <th class="author">children</th>
366 <th class="author">children</th>
354 <td class="author"> <a href="/rev/559edbd9ed20">559edbd9ed20</a></td>
367 <td class="author"> <a href="/rev/559edbd9ed20">559edbd9ed20</a></td>
355 </tr>
368 </tr>
356 <tr>
369 <tr>
357 <th class="files">files</th>
370 <th class="files">files</th>
358 <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
371 <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
359 </tr>
372 </tr>
360 <tr>
373 <tr>
361 <th class="diffstat">diffstat</th>
374 <th class="diffstat">diffstat</th>
362 <td class="diffstat">
375 <td class="diffstat">
363 2 files changed, 2 insertions(+), 0 deletions(-)
376 2 files changed, 2 insertions(+), 0 deletions(-)
364
377
365 <a id="diffstatexpand" href="javascript:showDiffstat()"/>[<tt>+</tt>]</a>
378 <a id="diffstatexpand" href="javascript:showDiffstat()"/>[<tt>+</tt>]</a>
366 <div id="diffstatdetails" style="display:none;">
379 <div id="diffstatdetails" style="display:none;">
367 <a href="javascript:hideDiffstat()"/>[<tt>-</tt>]</a>
380 <a href="javascript:hideDiffstat()"/>[<tt>-</tt>]</a>
368 <p>
381 <p>
369 <table> <tr class="parity0">
382 <table> <tr class="parity0">
370 <td class="diffstat-file"><a href="#l1.1">a</a></td>
383 <td class="diffstat-file"><a href="#l1.1">a</a></td>
371 <td class="diffstat-total" align="right">1</td>
384 <td class="diffstat-total" align="right">1</td>
372 <td class="diffstat-graph">
385 <td class="diffstat-graph">
373 <span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
386 <span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
374 <span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
387 <span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
375 </td>
388 </td>
376 </tr>
389 </tr>
377 <tr class="parity1">
390 <tr class="parity1">
378 <td class="diffstat-file"><a href="#l2.1">b</a></td>
391 <td class="diffstat-file"><a href="#l2.1">b</a></td>
379 <td class="diffstat-total" align="right">1</td>
392 <td class="diffstat-total" align="right">1</td>
380 <td class="diffstat-graph">
393 <td class="diffstat-graph">
381 <span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
394 <span class="diffstat-add" style="width:100.0%;">&nbsp;</span>
382 <span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
395 <span class="diffstat-remove" style="width:0.0%;">&nbsp;</span>
383 </td>
396 </td>
384 </tr>
397 </tr>
385 </table>
398 </table>
386 </div>
399 </div>
387 </td>
400 </td>
388 </tr>
401 </tr>
389 </table>
402 </table>
390
403
391 <div class="overflow">
404 <div class="overflow">
392 <div class="sourcefirst"> line diff</div>
405 <div class="sourcefirst"> line diff</div>
393
406
394 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> new file mode 100644
407 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> new file mode 100644
395 <a href="#l1.2" id="l1.2"> 1.2</a> <span class="minusline">--- /dev/null
408 <a href="#l1.2" id="l1.2"> 1.2</a> <span class="minusline">--- /dev/null
396 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="plusline">+++ b/a
409 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="plusline">+++ b/a
397 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="atline">@@ -0,0 +1,1 @@
410 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="atline">@@ -0,0 +1,1 @@
398 </span><a href="#l1.5" id="l1.5"> 1.5</a> <span class="plusline">+a
411 </span><a href="#l1.5" id="l1.5"> 1.5</a> <span class="plusline">+a
399 </span></pre></div><div class="source bottomline parity1"><pre><a href="#l2.1" id="l2.1"> 2.1</a> new file mode 100644
412 </span></pre></div><div class="source bottomline parity1"><pre><a href="#l2.1" id="l2.1"> 2.1</a> new file mode 100644
400 <a href="#l2.2" id="l2.2"> 2.2</a> <span class="minusline">--- /dev/null
413 <a href="#l2.2" id="l2.2"> 2.2</a> <span class="minusline">--- /dev/null
401 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="plusline">+++ b/b
414 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="plusline">+++ b/b
402 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="atline">@@ -0,0 +1,1 @@
415 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="atline">@@ -0,0 +1,1 @@
403 </span><a href="#l2.5" id="l2.5"> 2.5</a> <span class="plusline">+b
416 </span><a href="#l2.5" id="l2.5"> 2.5</a> <span class="plusline">+b
404 </span></pre></div>
417 </span></pre></div>
405 </div>
418 </div>
406
419
407 </div>
420 </div>
408 </div>
421 </div>
409 <script type="text/javascript">process_dates()</script>
422 <script type="text/javascript">process_dates()</script>
410
423
411
424
412 </body>
425 </body>
413 </html>
426 </html>
414
427
415
428
416 revision
429 revision
417
430
418 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'raw-rev/0'
431 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'raw-rev/0'
419 200 Script output follows
432 200 Script output follows
420
433
421
434
422 # HG changeset patch
435 # HG changeset patch
423 # User test
436 # User test
424 # Date 0 0
437 # Date 0 0
425 # Node ID 0cd96de13884b090099512d4794ae87ad067ea8e
438 # Node ID 0cd96de13884b090099512d4794ae87ad067ea8e
426
439
427 a
440 a
428
441
429 diff --git a/a b/a
442 diff --git a/a b/a
430 new file mode 100644
443 new file mode 100644
431 --- /dev/null
444 --- /dev/null
432 +++ b/a
445 +++ b/a
433 @@ -0,0 +1,1 @@
446 @@ -0,0 +1,1 @@
434 +a
447 +a
435 diff --git a/b b/b
448 diff --git a/b b/b
436 new file mode 100644
449 new file mode 100644
437 --- /dev/null
450 --- /dev/null
438 +++ b/b
451 +++ b/b
439 @@ -0,0 +1,1 @@
452 @@ -0,0 +1,1 @@
440 +b
453 +b
441
454
442
455
443 diff removed file
456 diff removed file
444
457
445 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'diff/tip/a'
458 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'diff/tip/a'
446 200 Script output follows
459 200 Script output follows
447
460
448 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
461 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
449 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
462 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
450 <head>
463 <head>
451 <link rel="icon" href="/static/hgicon.png" type="image/png" />
464 <link rel="icon" href="/static/hgicon.png" type="image/png" />
452 <meta name="robots" content="index, nofollow" />
465 <meta name="robots" content="index, nofollow" />
453 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
466 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
454 <script type="text/javascript" src="/static/mercurial.js"></script>
467 <script type="text/javascript" src="/static/mercurial.js"></script>
455
468
456 <title>test: a diff</title>
469 <title>test: a diff</title>
457 </head>
470 </head>
458 <body>
471 <body>
459
472
460 <div class="container">
473 <div class="container">
461 <div class="menu">
474 <div class="menu">
462 <div class="logo">
475 <div class="logo">
463 <a href="http://mercurial.selenic.com/">
476 <a href="http://mercurial.selenic.com/">
464 <img src="/static/hglogo.png" alt="mercurial" /></a>
477 <img src="/static/hglogo.png" alt="mercurial" /></a>
465 </div>
478 </div>
466 <ul>
479 <ul>
467 <li><a href="/shortlog/559edbd9ed20">log</a></li>
480 <li><a href="/shortlog/559edbd9ed20">log</a></li>
468 <li><a href="/graph/559edbd9ed20">graph</a></li>
481 <li><a href="/graph/559edbd9ed20">graph</a></li>
469 <li><a href="/tags">tags</a></li>
482 <li><a href="/tags">tags</a></li>
470 <li><a href="/bookmarks">bookmarks</a></li>
483 <li><a href="/bookmarks">bookmarks</a></li>
471 <li><a href="/branches">branches</a></li>
484 <li><a href="/branches">branches</a></li>
472 </ul>
485 </ul>
473 <ul>
486 <ul>
474 <li><a href="/rev/559edbd9ed20">changeset</a></li>
487 <li><a href="/rev/559edbd9ed20">changeset</a></li>
475 <li><a href="/file/559edbd9ed20">browse</a></li>
488 <li><a href="/file/559edbd9ed20">browse</a></li>
476 </ul>
489 </ul>
477 <ul>
490 <ul>
478 <li><a href="/file/559edbd9ed20/a">file</a></li>
491 <li><a href="/file/559edbd9ed20/a">file</a></li>
479 <li><a href="/file/tip/a">latest</a></li>
492 <li><a href="/file/tip/a">latest</a></li>
480 <li class="active">diff</li>
493 <li class="active">diff</li>
481 <li><a href="/annotate/559edbd9ed20/a">annotate</a></li>
494 <li><a href="/annotate/559edbd9ed20/a">annotate</a></li>
482 <li><a href="/log/559edbd9ed20/a">file log</a></li>
495 <li><a href="/log/559edbd9ed20/a">file log</a></li>
483 <li><a href="/raw-file/559edbd9ed20/a">raw</a></li>
496 <li><a href="/raw-file/559edbd9ed20/a">raw</a></li>
484 </ul>
497 </ul>
485 <ul>
498 <ul>
486 <li><a href="/help">help</a></li>
499 <li><a href="/help">help</a></li>
487 </ul>
500 </ul>
488 </div>
501 </div>
489
502
490 <div class="main">
503 <div class="main">
491 <h2><a href="/">test</a></h2>
504 <h2><a href="/">test</a></h2>
492 <h3>diff a @ 1:559edbd9ed20</h3>
505 <h3>diff a @ 1:559edbd9ed20</h3>
493
506
494 <form class="search" action="/log">
507 <form class="search" action="/log">
495 <p></p>
508 <p></p>
496 <p><input name="rev" id="search1" type="text" size="30" /></p>
509 <p><input name="rev" id="search1" type="text" size="30" /></p>
497 <div id="hint">find changesets by author, revision,
510 <div id="hint">find changesets by author, revision,
498 files, or words in the commit message</div>
511 files, or words in the commit message</div>
499 </form>
512 </form>
500
513
501 <div class="description">b</div>
514 <div class="description">b</div>
502
515
503 <table id="changesetEntry">
516 <table id="changesetEntry">
504 <tr>
517 <tr>
505 <th>author</th>
518 <th>author</th>
506 <td>&#116;&#101;&#115;&#116;</td>
519 <td>&#116;&#101;&#115;&#116;</td>
507 </tr>
520 </tr>
508 <tr>
521 <tr>
509 <th>date</th>
522 <th>date</th>
510 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
523 <td class="date age">Thu, 01 Jan 1970 00:00:00 +0000</td>
511 </tr>
524 </tr>
512 <tr>
525 <tr>
513 <th>parents</th>
526 <th>parents</th>
514 <td></td>
527 <td></td>
515 </tr>
528 </tr>
516 <tr>
529 <tr>
517 <th>children</th>
530 <th>children</th>
518 <td></td>
531 <td></td>
519 </tr>
532 </tr>
520
533
521 </table>
534 </table>
522
535
523 <div class="overflow">
536 <div class="overflow">
524 <div class="sourcefirst"> line diff</div>
537 <div class="sourcefirst"> line diff</div>
525
538
526 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> old mode 100644
539 <div class="source bottomline parity0"><pre><a href="#l1.1" id="l1.1"> 1.1</a> old mode 100644
527 <a href="#l1.2" id="l1.2"> 1.2</a> new mode 100755
540 <a href="#l1.2" id="l1.2"> 1.2</a> new mode 100755
528 </pre></div>
541 </pre></div>
529 </div>
542 </div>
530 </div>
543 </div>
531 </div>
544 </div>
532
545
533 <script type="text/javascript">process_dates()</script>
546 <script type="text/javascript">process_dates()</script>
534
547
535
548
536 </body>
549 </body>
537 </html>
550 </html>
538
551
539 $ cd ..
552 $ cd ..
540
553
541 test import rev as raw-rev
554 test import rev as raw-rev
542
555
543 $ hg clone -r0 test test1
556 $ hg clone -r0 test test1
544 adding changesets
557 adding changesets
545 adding manifests
558 adding manifests
546 adding file changes
559 adding file changes
547 added 1 changesets with 2 changes to 2 files
560 added 1 changesets with 2 changes to 2 files
548 updating to branch default
561 updating to branch default
549 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
562 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
550 $ cd test1
563 $ cd test1
551 $ hg import -q --exact http://localhost:$HGPORT/rev/1
564 $ hg import -q --bypass --exact http://localhost:$HGPORT/rev/1
552
565
553 raw revision with diff block numbers
566 raw revision with diff block numbers
554
567
555 $ "$TESTDIR/killdaemons.py"
568 $ "$TESTDIR/killdaemons.py"
556 $ cat <<EOF > .hg/hgrc
569 $ cat <<EOF > .hg/hgrc
557 > [web]
570 > [web]
558 > templates = rawdiff
571 > templates = rawdiff
559 > EOF
572 > EOF
560 $ mkdir rawdiff
573 $ mkdir rawdiff
561 $ cat <<EOF > rawdiff/map
574 $ cat <<EOF > rawdiff/map
562 > mimetype = 'text/plain; charset={encoding}'
575 > mimetype = 'text/plain; charset={encoding}'
563 > changeset = '{diff}'
576 > changeset = '{diff}'
564 > difflineplus = '{line}'
577 > difflineplus = '{line}'
565 > difflineminus = '{line}'
578 > difflineminus = '{line}'
566 > difflineat = '{line}'
579 > difflineat = '{line}'
567 > diffline = '{line}'
580 > diffline = '{line}'
568 > filenodelink = ''
581 > filenodelink = ''
569 > filenolink = ''
582 > filenolink = ''
570 > fileline = '{line}'
583 > fileline = '{line}'
571 > diffblock = 'Block: {blockno}\n{lines}\n'
584 > diffblock = 'Block: {blockno}\n{lines}\n'
572 > EOF
585 > EOF
573 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
586 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
574 $ cat hg.pid >> $DAEMON_PIDS
587 $ cat hg.pid >> $DAEMON_PIDS
575 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'raw-rev/0'
588 $ "$TESTDIR/get-with-headers.py" localhost:$HGPORT 'raw-rev/0'
576 200 Script output follows
589 200 Script output follows
577
590
578 Block: 1
591 Block: 1
579 diff -r 000000000000 -r 0cd96de13884 a
592 diff -r 000000000000 -r 0cd96de13884 a
580 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
593 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
581 +++ b/a Thu Jan 01 00:00:00 1970 +0000
594 +++ b/a Thu Jan 01 00:00:00 1970 +0000
582 @@ -0,0 +1,1 @@
595 @@ -0,0 +1,1 @@
583 +a
596 +a
584
597
585 Block: 2
598 Block: 2
586 diff -r 000000000000 -r 0cd96de13884 b
599 diff -r 000000000000 -r 0cd96de13884 b
587 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
600 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
588 +++ b/b Thu Jan 01 00:00:00 1970 +0000
601 +++ b/b Thu Jan 01 00:00:00 1970 +0000
589 @@ -0,0 +1,1 @@
602 @@ -0,0 +1,1 @@
590 +b
603 +b
591
604
592 $ "$TESTDIR/killdaemons.py"
605 $ "$TESTDIR/killdaemons.py"
593 $ rm .hg/hgrc rawdiff/map
606 $ rm .hg/hgrc rawdiff/map
594 $ rmdir rawdiff
607 $ rmdir rawdiff
595 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
608 $ hg serve -n test -p $HGPORT -d --pid-file=hg.pid -A access.log -E errors.log
596 $ cat hg.pid >> $DAEMON_PIDS
609 $ cat hg.pid >> $DAEMON_PIDS
597
610
598 errors
611 errors
599
612
600 $ cat ../test/errors.log
613 $ cat ../test/errors.log
601
614
602 $ cd ..
615 $ cd ..
General Comments 0
You need to be logged in to leave comments. Login now