##// END OF EJS Templates
paper/coal: add branches page
Sune Foldager -
r8353:6058d291 default
parent child Browse files
Show More
@@ -0,0 +1,45 b''
1 {header}
2 <title>{repo|escape}: branches</title>
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-tags" title="Atom feed for {repo|escape}: branches" />
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-tags" title="RSS feed for {repo|escape}: branches" />
7 </head>
8 <body>
9
10 <div class="container">
11 <div class="menu">
12 <div class="logo">
13 <a href="http://www.selenic.com/mercurial/">
14 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
15 </div>
16 <ul>
17 <li><a href="{url}shortlog{sessionvars%urlparameter}">log</a></li>
18 <li><a href="{url}graph{sessionvars%urlparameter}">graph</a></li>
19 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
20 <li class="active">branches</li>
21 </ul>
22 </div>
23
24 <div class="main">
25 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
26 <h3>branches</h3>
27
28 <form class="search" action="{url}log">
29 {sessionvars%hiddenformentry}
30 <p><input name="rev" id="search1" type="text" size="30" /></p>
31 <div id="hint">find changesets by author, revision,
32 files, or words in the commit message</div>
33 </form>
34
35 <table class="bigtable">
36 <tr>
37 <th>branch</th>
38 <th>node</th>
39 </tr>
40 {entries%branchentry}
41 </table>
42 </div>
43 </div>
44
45 {footer}
@@ -1,74 +1,76 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 direntry = '<tr class="fileline parity{parity}"><td class="name"><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}"><img src="{staticurl}coal-folder.png"> {basename|escape}/</a> <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">{emptydirs|escape}</a><td class="size"></td><td class="permissions">drwxr-xr-x</td></tr>'
26 direntry = '<tr class="fileline parity{parity}"><td class="name"><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}"><img src="{staticurl}coal-folder.png"> {basename|escape}/</a> <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">{emptydirs|escape}</a><td class="size"></td><td class="permissions">drwxr-xr-x</td></tr>'
27 fileentry = '<tr class="fileline parity{parity}"><td class="filename"><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}"><img src="{staticurl}coal-file.png"> {basename|escape}</a></td><td class="size">{size}</td><td class="permissions">{permissions|permissions}</td></tr>'
27 fileentry = '<tr class="fileline parity{parity}"><td class="filename"><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}"><img src="{staticurl}coal-file.png"> {basename|escape}</a></td><td class="size">{size}</td><td class="permissions">{permissions|permissions}</td></tr>'
28
28
29 filerevision = ../paper/filerevision.tmpl
29 filerevision = ../paper/filerevision.tmpl
30 fileannotate = ../paper/fileannotate.tmpl
30 fileannotate = ../paper/fileannotate.tmpl
31 filediff = ../paper/filediff.tmpl
31 filediff = ../paper/filediff.tmpl
32 filelog = ../paper/filelog.tmpl
32 filelog = ../paper/filelog.tmpl
33 fileline = '<div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
33 fileline = '<div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
34 filelogentry = ../paper/filelogentry.tmpl
34 filelogentry = ../paper/filelogentry.tmpl
35
35
36 annotateline = '<tr class="parity{parity}"><td class="annotate"><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}" title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a></td><td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td></tr>'
36 annotateline = '<tr class="parity{parity}"><td class="annotate"><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}" title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a></td><td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td></tr>'
37
37
38 diffblock = '<div class="source bottomline parity{parity}">{lines}</div>'
38 diffblock = '<div class="source bottomline parity{parity}">{lines}</div>'
39 difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
39 difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
40 difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
40 difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
41 difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
41 difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
42 diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
42 diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
43
43
44 changelogparent = '<tr><th class="parent">parent {rev}:</th><td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
44 changelogparent = '<tr><th class="parent">parent {rev}:</th><td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
45
45
46 changesetparent = '<a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
46 changesetparent = '<a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
47
47
48 filerevparent = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> '
48 filerevparent = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> '
49 filerevchild = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> '
49 filerevchild = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> '
50
50
51 filerename = '{file|escape}@'
51 filerename = '{file|escape}@'
52 filelogrename = '<tr><th>base:</th><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}@{node|short}</a></td></tr>'
52 filelogrename = '<tr><th>base:</th><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}@{node|short}</a></td></tr>'
53 fileannotateparent = '<tr><td class="metatag">parent:</td><td><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a></td></tr>'
53 fileannotateparent = '<tr><td class="metatag">parent:</td><td><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a></td></tr>'
54 changesetchild = ' <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
54 changesetchild = ' <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
55 changelogchild = '<tr><th class="child">child</th><td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
55 changelogchild = '<tr><th class="child">child</th><td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
56 fileannotatechild = '<tr><td class="metatag">child:</td><td><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
56 fileannotatechild = '<tr><td class="metatag">child:</td><td><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
57 tags = ../paper/tags.tmpl
57 tags = ../paper/tags.tmpl
58 tagentry = '<tr class="tagEntry parity{parity}"><td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{tag|escape}</a></td><td class="node">{node|short}</td></tr>'
58 tagentry = '<tr class="tagEntry parity{parity}"><td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{tag|escape}</a></td><td class="node">{node|short}</td></tr>'
59 branches = ../paper/branches.tmpl
60 branchentry = '<tr class="tagEntry parity{parity}"><td><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{branch|escape}</a></td><td class="node">{node|short}</td></tr>'
59 changelogtag = '<span class="tag">{name|escape}</span> '
61 changelogtag = '<span class="tag">{name|escape}</span> '
60 changesettag = '<span class="tag">{tag|escape}</span> '
62 changesettag = '<span class="tag">{tag|escape}</span> '
61 changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
63 changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
62 changelogbranchname = '<span class="branchname">{name|escape}</span> '
64 changelogbranchname = '<span class="branchname">{name|escape}</span> '
63 filediffparent = '<tr><th class="parent">parent {rev}:</th><td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
65 filediffparent = '<tr><th class="parent">parent {rev}:</th><td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
64 filelogparent = '<tr><th>parent {rev}:</th><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
66 filelogparent = '<tr><th>parent {rev}:</th><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
65 filediffchild = '<tr><th class="child">child {rev}:</th><td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
67 filediffchild = '<tr><th class="child">child {rev}:</th><td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
66 filelogchild = '<tr><th>child {rev}:</th><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
68 filelogchild = '<tr><th>child {rev}:</th><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
67 indexentry = '<tr class="parity{parity}"><td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td><td>{description}</td><td>{contact|obfuscate}</td><td class="age">{lastchange|age} ago</td><td class="indexlinks">{archives%indexarchiveentry}</td></tr>\n'
69 indexentry = '<tr class="parity{parity}"><td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td><td>{description}</td><td>{contact|obfuscate}</td><td class="age">{lastchange|age} ago</td><td class="indexlinks">{archives%indexarchiveentry}</td></tr>\n'
68 indexarchiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
70 indexarchiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
69 index = ../paper/index.tmpl
71 index = ../paper/index.tmpl
70 archiveentry = '<li><a href="{url}archive/{node|short}{extension|urlescape}">{type|escape}</a></li>'
72 archiveentry = '<li><a href="{url}archive/{node|short}{extension|urlescape}">{type|escape}</a></li>'
71 notfound = ../paper/notfound.tmpl
73 notfound = ../paper/notfound.tmpl
72 error = ../paper/error.tmpl
74 error = ../paper/error.tmpl
73 urlparameter = '{separator}{name}={value|urlescape}'
75 urlparameter = '{separator}{name}={value|urlescape}'
74 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
76 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
@@ -1,70 +1,71 b''
1 {header}
1 {header}
2 <title>{repo|escape}: {node|short}</title>
2 <title>{repo|escape}: {node|short}</title>
3 </head>
3 </head>
4 <body>
4 <body>
5 <div class="container">
5 <div class="container">
6 <div class="menu">
6 <div class="menu">
7 <div class="logo">
7 <div class="logo">
8 <a href="http://www.selenic.com/mercurial/">
8 <a href="http://www.selenic.com/mercurial/">
9 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
9 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
10 </div>
10 </div>
11 <ul>
11 <ul>
12 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
12 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
13 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
13 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
14 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
14 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
15 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
15 </ul>
16 </ul>
16 <ul>
17 <ul>
17 <li class="active">changeset</li>
18 <li class="active">changeset</li>
18 <li><a href="{url}raw-rev/{node|short}{sessionvars%urlparameter}">raw</a></li>
19 <li><a href="{url}raw-rev/{node|short}{sessionvars%urlparameter}">raw</a></li>
19 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">browse</a></li>
20 <li><a href="{url}file/{node|short}{sessionvars%urlparameter}">browse</a></li>
20 </ul>
21 </ul>
21 <ul>
22 <ul>
22 {archives%archiveentry}
23 {archives%archiveentry}
23 </ul>
24 </ul>
24 </div>
25 </div>
25
26
26 <div class="main">
27 <div class="main">
27
28
28 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
29 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
29 <h3>changeset {rev}:{node|short} {changesetbranch%changelogbranchname} {changesettag}</h3>
30 <h3>changeset {rev}:{node|short} {changesetbranch%changelogbranchname} {changesettag}</h3>
30
31
31 <form class="search" action="{url}log">
32 <form class="search" action="{url}log">
32 {sessionvars%hiddenformentry}
33 {sessionvars%hiddenformentry}
33 <p><input name="rev" id="search1" type="text" size="30" /></p>
34 <p><input name="rev" id="search1" type="text" size="30" /></p>
34 <div id="hint">find changesets by author, revision,
35 <div id="hint">find changesets by author, revision,
35 files, or words in the commit message</div>
36 files, or words in the commit message</div>
36 </form>
37 </form>
37
38
38 <div class="description">{desc|strip|escape|addbreaks|nonempty}</div>
39 <div class="description">{desc|strip|escape|addbreaks|nonempty}</div>
39
40
40 <table id="changesetEntry">
41 <table id="changesetEntry">
41 <tr>
42 <tr>
42 <th class="author">author</th>
43 <th class="author">author</th>
43 <td class="author">{author|obfuscate}</td>
44 <td class="author">{author|obfuscate}</td>
44 </tr>
45 </tr>
45 <tr>
46 <tr>
46 <th class="date">date</th>
47 <th class="date">date</th>
47 <td class="date">{date|date} ({date|age} ago)</td></tr>
48 <td class="date">{date|date} ({date|age} ago)</td></tr>
48 <tr>
49 <tr>
49 <th class="author">parents</th>
50 <th class="author">parents</th>
50 <td class="author">{parent%changesetparent}</td>
51 <td class="author">{parent%changesetparent}</td>
51 </tr>
52 </tr>
52 <tr>
53 <tr>
53 <th class="author">children</th>
54 <th class="author">children</th>
54 <td class="author">{child%changesetchild}</td>
55 <td class="author">{child%changesetchild}</td>
55 </tr>
56 </tr>
56 <tr>
57 <tr>
57 <th class="files">files</th>
58 <th class="files">files</th>
58 <td class="files">{files}</td>
59 <td class="files">{files}</td>
59 </tr>
60 </tr>
60 </table>
61 </table>
61
62
62 <div class="overflow">
63 <div class="overflow">
63 <div class="sourcefirst"> line diff</div>
64 <div class="sourcefirst"> line diff</div>
64
65
65 {diff}
66 {diff}
66 </div>
67 </div>
67
68
68 </div>
69 </div>
69 </div>
70 </div>
70 {footer}
71 {footer}
@@ -1,42 +1,43 b''
1 {header}
1 {header}
2 <title>{repo|escape}: error</title>
2 <title>{repo|escape}: error</title>
3 </head>
3 </head>
4 <body>
4 <body>
5
5
6 <div class="container">
6 <div class="container">
7 <div class="menu">
7 <div class="menu">
8 <div class="logo">
8 <div class="logo">
9 <a href="http://www.selenic.com/mercurial/">
9 <a href="http://www.selenic.com/mercurial/">
10 <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
10 <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
11 </div>
11 </div>
12 <ul>
12 <ul>
13 <li><a href="{url}shortlog{sessionvars%urlparameter}">log</a></li>
13 <li><a href="{url}shortlog{sessionvars%urlparameter}">log</a></li>
14 <li><a href="{url}graph{sessionvars%urlparameter}">graph</a></li>
14 <li><a href="{url}graph{sessionvars%urlparameter}">graph</a></li>
15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
16 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
16 </ul>
17 </ul>
17 </div>
18 </div>
18
19
19 <div class="main">
20 <div class="main">
20
21
21 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
22 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
22 <h3>error</h3>
23 <h3>error</h3>
23
24
24 <form class="search" action="{url}log">
25 <form class="search" action="{url}log">
25 {sessionvars%hiddenformentry}
26 {sessionvars%hiddenformentry}
26 <p><input name="rev" id="search1" type="text" size="30"></p>
27 <p><input name="rev" id="search1" type="text" size="30"></p>
27 <div id="hint">find changesets by author, revision,
28 <div id="hint">find changesets by author, revision,
28 files, or words in the commit message</div>
29 files, or words in the commit message</div>
29 </form>
30 </form>
30
31
31 <div class="description">
32 <div class="description">
32 <p>
33 <p>
33 An error occurred while processing your request:
34 An error occurred while processing your request:
34 </p>
35 </p>
35 <p>
36 <p>
36 {error|escape}
37 {error|escape}
37 </p>
38 </p>
38 </div>
39 </div>
39 </div>
40 </div>
40 </div>
41 </div>
41
42
42 {footer}
43 {footer}
@@ -1,78 +1,79 b''
1 {header}
1 {header}
2 <title>{repo|escape}: {file|escape} annotate</title>
2 <title>{repo|escape}: {file|escape} annotate</title>
3 </head>
3 </head>
4 <body>
4 <body>
5
5
6 <div class="container">
6 <div class="container">
7 <div class="menu">
7 <div class="menu">
8 <div class="logo">
8 <div class="logo">
9 <a href="http://www.selenic.com/mercurial/">
9 <a href="http://www.selenic.com/mercurial/">
10 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
10 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
11 </div>
11 </div>
12 <ul>
12 <ul>
13 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
13 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
14 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
14 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
16 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
16 </ul>
17 </ul>
17
18
18 <ul>
19 <ul>
19 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
20 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
20 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
21 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
21 </ul>
22 </ul>
22 <ul>
23 <ul>
23 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
24 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
24 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
25 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
25 <li class="active">annotate</li>
26 <li class="active">annotate</li>
26 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li>
27 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li>
27 <li><a href="{url}raw-annotate/{node|short}/{file|urlescape}">raw</a></li>
28 <li><a href="{url}raw-annotate/{node|short}/{file|urlescape}">raw</a></li>
28 </ul>
29 </ul>
29 </div>
30 </div>
30
31
31 <div class="main">
32 <div class="main">
32 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
33 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
33 <h3>annotate {file|escape} @ {rev}:{node|short}</h3>
34 <h3>annotate {file|escape} @ {rev}:{node|short}</h3>
34
35
35 <form class="search" action="{url}log">
36 <form class="search" action="{url}log">
36 {sessionvars%hiddenformentry}
37 {sessionvars%hiddenformentry}
37 <p><input name="rev" id="search1" type="text" size="30" /></p>
38 <p><input name="rev" id="search1" type="text" size="30" /></p>
38 <div id="hint">find changesets by author, revision,
39 <div id="hint">find changesets by author, revision,
39 files, or words in the commit message</div>
40 files, or words in the commit message</div>
40 </form>
41 </form>
41
42
42 <div class="description">{desc|strip|escape|addbreaks|nonempty}</div>
43 <div class="description">{desc|strip|escape|addbreaks|nonempty}</div>
43
44
44 <table id="changesetEntry">
45 <table id="changesetEntry">
45 <tr>
46 <tr>
46 <th class="author">author</th>
47 <th class="author">author</th>
47 <td class="author">{author|obfuscate}</td>
48 <td class="author">{author|obfuscate}</td>
48 </tr>
49 </tr>
49 <tr>
50 <tr>
50 <th class="date">date</th>
51 <th class="date">date</th>
51 <td class="date">{date|date} ({date|age} ago)</td>
52 <td class="date">{date|date} ({date|age} ago)</td>
52 </tr>
53 </tr>
53 <tr>
54 <tr>
54 <th class="author">parents</th>
55 <th class="author">parents</th>
55 <td class="author">{parent%filerevparent}</td>
56 <td class="author">{parent%filerevparent}</td>
56 </tr>
57 </tr>
57 <tr>
58 <tr>
58 <th class="author">children</th>
59 <th class="author">children</th>
59 <td class="author">{child%filerevchild}</td>
60 <td class="author">{child%filerevchild}</td>
60 </tr>
61 </tr>
61 {changesettag}
62 {changesettag}
62 </table>
63 </table>
63
64
64 <br/>
65 <br/>
65
66
66 <div class="overflow">
67 <div class="overflow">
67 <table class="bigtable">
68 <table class="bigtable">
68 <tr>
69 <tr>
69 <th class="annotate">rev</th>
70 <th class="annotate">rev</th>
70 <th class="line">&nbsp;&nbsp;line source</th>
71 <th class="line">&nbsp;&nbsp;line source</th>
71 </tr>
72 </tr>
72 {annotate%annotateline}
73 {annotate%annotateline}
73 </table>
74 </table>
74 </div>
75 </div>
75 </div>
76 </div>
76 </div>
77 </div>
77
78
78 {footer}
79 {footer}
@@ -1,71 +1,72 b''
1 {header}
1 {header}
2 <title>{repo|escape}: {file|escape} diff</title>
2 <title>{repo|escape}: {file|escape} diff</title>
3 </head>
3 </head>
4 <body>
4 <body>
5
5
6 <div class="container">
6 <div class="container">
7 <div class="menu">
7 <div class="menu">
8 <div class="logo">
8 <div class="logo">
9 <a href="http://www.selenic.com/mercurial/">
9 <a href="http://www.selenic.com/mercurial/">
10 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
10 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
11 </div>
11 </div>
12 <ul>
12 <ul>
13 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
13 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
14 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
14 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
16 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
16 </ul>
17 </ul>
17 <ul>
18 <ul>
18 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
19 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
19 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
20 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
20 </ul>
21 </ul>
21 <ul>
22 <ul>
22 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
23 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
23 <li class="active">diff</li>
24 <li class="active">diff</li>
24 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
25 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
25 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li>
26 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li>
26 <li><a href="{url}raw-file/{node|short}/{file|urlescape}">raw</a></li>
27 <li><a href="{url}raw-file/{node|short}/{file|urlescape}">raw</a></li>
27 </ul>
28 </ul>
28 </div>
29 </div>
29
30
30 <div class="main">
31 <div class="main">
31 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
32 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
32 <h3>diff {file|escape} @ {rev}:{node|short}</h3>
33 <h3>diff {file|escape} @ {rev}:{node|short}</h3>
33
34
34 <form class="search" action="{url}log">
35 <form class="search" action="{url}log">
35 <p>{sessionvars%hiddenformentry}</p>
36 <p>{sessionvars%hiddenformentry}</p>
36 <p><input name="rev" id="search1" type="text" size="30" /></p>
37 <p><input name="rev" id="search1" type="text" size="30" /></p>
37 <div id="hint">find changesets by author, revision,
38 <div id="hint">find changesets by author, revision,
38 files, or words in the commit message</div>
39 files, or words in the commit message</div>
39 </form>
40 </form>
40
41
41 <div class="description">{desc|strip|escape|addbreaks|nonempty}</div>
42 <div class="description">{desc|strip|escape|addbreaks|nonempty}</div>
42
43
43 <table id="changesetEntry">
44 <table id="changesetEntry">
44 <tr>
45 <tr>
45 <th>author</th>
46 <th>author</th>
46 <td>{author|obfuscate}</td>
47 <td>{author|obfuscate}</td>
47 </tr>
48 </tr>
48 <tr>
49 <tr>
49 <th>date</th>
50 <th>date</th>
50 <td>{date|date} ({date|age} ago)</td>
51 <td>{date|date} ({date|age} ago)</td>
51 </tr>
52 </tr>
52 <tr>
53 <tr>
53 <th>parents</th>
54 <th>parents</th>
54 <td>{parent%filerevparent}</td>
55 <td>{parent%filerevparent}</td>
55 </tr>
56 </tr>
56 <tr>
57 <tr>
57 <th>children</th>
58 <th>children</th>
58 <td>{child%filerevchild}</td>
59 <td>{child%filerevchild}</td>
59 </tr>
60 </tr>
60 {changesettag}
61 {changesettag}
61 </table>
62 </table>
62
63
63 <div class="overflow">
64 <div class="overflow">
64 <div class="sourcefirst"> line diff</div>
65 <div class="sourcefirst"> line diff</div>
65
66
66 {diff}
67 {diff}
67 </div>
68 </div>
68 </div>
69 </div>
69 </div>
70 </div>
70
71
71 {footer}
72 {footer}
@@ -1,59 +1,60 b''
1 {header}
1 {header}
2 <title>{repo|escape}: {file|escape} history</title>
2 <title>{repo|escape}: {file|escape} history</title>
3 <link rel="alternate" type="application/atom+xml"
3 <link rel="alternate" type="application/atom+xml"
4 href="{url}atom-log/tip/{file|urlescape}" title="Atom feed for {repo|escape}:{file}" />
4 href="{url}atom-log/tip/{file|urlescape}" title="Atom feed for {repo|escape}:{file}" />
5 <link rel="alternate" type="application/rss+xml"
5 <link rel="alternate" type="application/rss+xml"
6 href="{url}rss-log/tip/{file|urlescape}" title="RSS feed for {repo|escape}:{file}" />
6 href="{url}rss-log/tip/{file|urlescape}" title="RSS feed for {repo|escape}:{file}" />
7 </head>
7 </head>
8 <body>
8 <body>
9
9
10 <div class="container">
10 <div class="container">
11 <div class="menu">
11 <div class="menu">
12 <div class="logo">
12 <div class="logo">
13 <a href="http://www.selenic.com/mercurial/">
13 <a href="http://www.selenic.com/mercurial/">
14 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
14 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
15 </div>
15 </div>
16 <ul>
16 <ul>
17 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
17 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
18 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
18 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
19 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
19 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
20 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
20 </ul>
21 </ul>
21 <ul>
22 <ul>
22 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
23 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
23 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
24 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
24 </ul>
25 </ul>
25 <ul>
26 <ul>
26 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
27 <li><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a></li>
27 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
28 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
28 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
29 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
29 <li class="active">file log</li>
30 <li class="active">file log</li>
30 <li><a href="{url}raw-file/{node|short}/{file|urlescape}">raw</a></li>
31 <li><a href="{url}raw-file/{node|short}/{file|urlescape}">raw</a></li>
31 </ul>
32 </ul>
32 </div>
33 </div>
33
34
34 <div class="main">
35 <div class="main">
35 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
36 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
36 <h3>log {file|escape}</h3>
37 <h3>log {file|escape}</h3>
37
38
38 <form class="search" action="{url}log">
39 <form class="search" action="{url}log">
39 {sessionvars%hiddenformentry}
40 {sessionvars%hiddenformentry}
40 <p><input name="rev" id="search1" type="text" size="30" /></p>
41 <p><input name="rev" id="search1" type="text" size="30" /></p>
41 <div id="hint">find changesets by author, revision,
42 <div id="hint">find changesets by author, revision,
42 files, or words in the commit message</div>
43 files, or words in the commit message</div>
43 </form>
44 </form>
44
45
45 <div class="navigate">{nav%filenaventry}</div>
46 <div class="navigate">{nav%filenaventry}</div>
46
47
47 <table class="bigtable">
48 <table class="bigtable">
48 <tr>
49 <tr>
49 <th class="age">age</th>
50 <th class="age">age</th>
50 <th class="author">author</th>
51 <th class="author">author</th>
51 <th class="description">description</th>
52 <th class="description">description</th>
52 </tr>
53 </tr>
53 {entries%filelogentry}
54 {entries%filelogentry}
54 </table>
55 </table>
55
56
56 </div>
57 </div>
57 </div>
58 </div>
58
59
59 {footer}
60 {footer}
@@ -1,71 +1,72 b''
1 {header}
1 {header}
2 <title>{repo|escape}: {node|short} {file|escape}</title>
2 <title>{repo|escape}: {node|short} {file|escape}</title>
3 </head>
3 </head>
4 <body>
4 <body>
5
5
6 <div class="container">
6 <div class="container">
7 <div class="menu">
7 <div class="menu">
8 <div class="logo">
8 <div class="logo">
9 <a href="http://www.selenic.com/mercurial/">
9 <a href="http://www.selenic.com/mercurial/">
10 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
10 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
11 </div>
11 </div>
12 <ul>
12 <ul>
13 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
13 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
14 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
14 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
16 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
16 </ul>
17 </ul>
17 <ul>
18 <ul>
18 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
19 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
19 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
20 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
20 </ul>
21 </ul>
21 <ul>
22 <ul>
22 <li class="active">file</li>
23 <li class="active">file</li>
23 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
24 <li><a href="{url}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li>
24 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
25 <li><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li>
25 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li>
26 <li><a href="{url}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li>
26 <li><a href="{url}raw-file/{node|short}/{file|urlescape}">raw</a></li>
27 <li><a href="{url}raw-file/{node|short}/{file|urlescape}">raw</a></li>
27 </ul>
28 </ul>
28 </div>
29 </div>
29
30
30 <div class="main">
31 <div class="main">
31 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
32 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
32 <h3>view {file|escape} @ {rev}:{node|short}</h3>
33 <h3>view {file|escape} @ {rev}:{node|short}</h3>
33
34
34 <form class="search" action="{url}log">
35 <form class="search" action="{url}log">
35 {sessionvars%hiddenformentry}
36 {sessionvars%hiddenformentry}
36 <p><input name="rev" id="search1" type="text" size="30" /></p>
37 <p><input name="rev" id="search1" type="text" size="30" /></p>
37 <div id="hint">find changesets by author, revision,
38 <div id="hint">find changesets by author, revision,
38 files, or words in the commit message</div>
39 files, or words in the commit message</div>
39 </form>
40 </form>
40
41
41 <div class="description">{desc|strip|escape|addbreaks|nonempty}</div>
42 <div class="description">{desc|strip|escape|addbreaks|nonempty}</div>
42
43
43 <table id="changesetEntry">
44 <table id="changesetEntry">
44 <tr>
45 <tr>
45 <th class="author">author</th>
46 <th class="author">author</th>
46 <td class="author">{author|obfuscate}</td>
47 <td class="author">{author|obfuscate}</td>
47 </tr>
48 </tr>
48 <tr>
49 <tr>
49 <th class="date">date</th>
50 <th class="date">date</th>
50 <td class="date">{date|date} ({date|age} ago)</td>
51 <td class="date">{date|date} ({date|age} ago)</td>
51 </tr>
52 </tr>
52 <tr>
53 <tr>
53 <th class="author">parents</th>
54 <th class="author">parents</th>
54 <td class="author">{parent%filerevparent}</td>
55 <td class="author">{parent%filerevparent}</td>
55 </tr>
56 </tr>
56 <tr>
57 <tr>
57 <th class="author">children</th>
58 <th class="author">children</th>
58 <td class="author">{child%filerevchild}</td>
59 <td class="author">{child%filerevchild}</td>
59 </tr>
60 </tr>
60 {changesettag}
61 {changesettag}
61 </table>
62 </table>
62
63
63 <div class="overflow">
64 <div class="overflow">
64 <div class="sourcefirst"> line source</div>
65 <div class="sourcefirst"> line source</div>
65 {text%fileline}
66 {text%fileline}
66 <div class="sourcelast"></div>
67 <div class="sourcelast"></div>
67 </div>
68 </div>
68 </div>
69 </div>
69 </div>
70 </div>
70
71
71 {footer}
72 {footer}
@@ -1,131 +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://www.selenic.com/mercurial/">
14 <a href="http://www.selenic.com/mercurial/">
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 </ul>
22 </ul>
22 <ul>
23 <ul>
23 <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>
24 <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>
25 </ul>
26 </ul>
26 </div>
27 </div>
27
28
28 <div class="main">
29 <div class="main">
29 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
30 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
30 <h3>graph</h3>
31 <h3>graph</h3>
31
32
32 <form class="search" action="{url}log">
33 <form class="search" action="{url}log">
33 {sessionvars%hiddenformentry}
34 {sessionvars%hiddenformentry}
34 <p><input name="rev" id="search1" type="text" size="30" /></p>
35 <p><input name="rev" id="search1" type="text" size="30" /></p>
35 <div id="hint">find changesets by author, revision,
36 <div id="hint">find changesets by author, revision,
36 files, or words in the commit message</div>
37 files, or words in the commit message</div>
37 </form>
38 </form>
38
39
39 <div class="navigate">
40 <div class="navigate">
40 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
41 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
41 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
42 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
42 | rev {rev}: {changenav%navgraphentry}
43 | rev {rev}: {changenav%navgraphentry}
43 </div>
44 </div>
44
45
45 <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>
46
47
47 <div id="wrapper">
48 <div id="wrapper">
48 <ul id="nodebgs"></ul>
49 <ul id="nodebgs"></ul>
49 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
50 <canvas id="graph" width="224" height="{canvasheight}"></canvas>
50 <ul id="graphnodes"></ul>
51 <ul id="graphnodes"></ul>
51 </div>
52 </div>
52
53
53 <script type="text/javascript" src="{staticurl}graph.js"></script>
54 <script type="text/javascript" src="{staticurl}graph.js"></script>
54 <script type="text/javascript">
55 <script type="text/javascript">
55 <!-- hide script content
56 <!-- hide script content
56
57
57 var data = {jsdata|json};
58 var data = {jsdata|json};
58 var graph = new Graph();
59 var graph = new Graph();
59 graph.scale({bg_height});
60 graph.scale({bg_height});
60
61
61 graph.edge = function(x0, y0, x1, y1, color) {
62 graph.edge = function(x0, y0, x1, y1, color) {
62
63
63 this.setColor(color, 0.0, 0.65);
64 this.setColor(color, 0.0, 0.65);
64 this.ctx.beginPath();
65 this.ctx.beginPath();
65 this.ctx.moveTo(x0, y0);
66 this.ctx.moveTo(x0, y0);
66 this.ctx.lineTo(x1, y1);
67 this.ctx.lineTo(x1, y1);
67 this.ctx.stroke();
68 this.ctx.stroke();
68
69
69 }
70 }
70
71
71 var revlink = '<li style="_STYLE"><span class="desc">';
72 var revlink = '<li style="_STYLE"><span class="desc">';
72 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>';
73 revlink += '</span>_TAGS<span class="info">_DATE ago, by _USER</span></li>';
74 revlink += '</span>_TAGS<span class="info">_DATE ago, by _USER</span></li>';
74
75
75 graph.vertex = function(x, y, color, parity, cur) {
76 graph.vertex = function(x, y, color, parity, cur) {
76
77
77 this.ctx.beginPath();
78 this.ctx.beginPath();
78 color = this.setColor(color, 0.25, 0.75);
79 color = this.setColor(color, 0.25, 0.75);
79 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
80 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
80 this.ctx.fill();
81 this.ctx.fill();
81
82
82 var bg = '<li class="bg parity' + parity + '"></li>';
83 var bg = '<li class="bg parity' + parity + '"></li>';
83 var left = (this.columns + 1) * this.bg_height;
84 var left = (this.columns + 1) * this.bg_height;
84 var nstyle = 'padding-left: ' + left + 'px;';
85 var nstyle = 'padding-left: ' + left + 'px;';
85 var item = revlink.replace(/_STYLE/, nstyle);
86 var item = revlink.replace(/_STYLE/, nstyle);
86 item = item.replace(/_PARITY/, 'parity' + parity);
87 item = item.replace(/_PARITY/, 'parity' + parity);
87 item = item.replace(/_NODEID/, cur[0]);
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(/_DESC/, cur[3]);
90 item = item.replace(/_DESC/, cur[3]);
90 item = item.replace(/_USER/, cur[4]);
91 item = item.replace(/_USER/, cur[4]);
91 item = item.replace(/_DATE/, cur[5]);
92 item = item.replace(/_DATE/, cur[5]);
92
93
93 var tagspan = '';
94 var tagspan = '';
94 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
95 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
95 tagspan = '<span class="logtags">';
96 tagspan = '<span class="logtags">';
96 if (cur[6][1]) {
97 if (cur[6][1]) {
97 tagspan += '<span class="branchhead" title="' + cur[6][0] + '">';
98 tagspan += '<span class="branchhead" title="' + cur[6][0] + '">';
98 tagspan += cur[6][0] + '</span> ';
99 tagspan += cur[6][0] + '</span> ';
99 } else if (!cur[6][1] && cur[6][0] != 'default') {
100 } else if (!cur[6][1] && cur[6][0] != 'default') {
100 tagspan += '<span class="branchname" title="' + cur[6][0] + '">';
101 tagspan += '<span class="branchname" title="' + cur[6][0] + '">';
101 tagspan += cur[6][0] + '</span> ';
102 tagspan += cur[6][0] + '</span> ';
102 }
103 }
103 if (cur[7].length) {
104 if (cur[7].length) {
104 for (var t in cur[7]) {
105 for (var t in cur[7]) {
105 var tag = cur[7][t];
106 var tag = cur[7][t];
106 tagspan += '<span class="tag">' + tag + '</span> ';
107 tagspan += '<span class="tag">' + tag + '</span> ';
107 }
108 }
108 }
109 }
109 tagspan += '</span>';
110 tagspan += '</span>';
110 }
111 }
111
112
112 item = item.replace(/_TAGS/, tagspan);
113 item = item.replace(/_TAGS/, tagspan);
113 return [bg, item];
114 return [bg, item];
114
115
115 }
116 }
116
117
117 graph.render(data);
118 graph.render(data);
118
119
119 // stop hiding script -->
120 // stop hiding script -->
120 </script>
121 </script>
121
122
122 <div class="navigate">
123 <div class="navigate">
123 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
124 <a href="{url}graph/{rev}{lessvars%urlparameter}">less</a>
124 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
125 <a href="{url}graph/{rev}{morevars%urlparameter}">more</a>
125 | rev {rev}: {changenav%navgraphentry}
126 | rev {rev}: {changenav%navgraphentry}
126 </div>
127 </div>
127
128
128 </div>
129 </div>
129 </div>
130 </div>
130
131
131 {footer}
132 {footer}
@@ -1,53 +1,54 b''
1 {header}
1 {header}
2 <title>{repo|escape}: {node|short} {path|escape}</title>
2 <title>{repo|escape}: {node|short} {path|escape}</title>
3 </head>
3 </head>
4 <body>
4 <body>
5
5
6 <div class="container">
6 <div class="container">
7 <div class="menu">
7 <div class="menu">
8 <div class="logo">
8 <div class="logo">
9 <a href="http://www.selenic.com/mercurial/">
9 <a href="http://www.selenic.com/mercurial/">
10 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
10 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
11 </div>
11 </div>
12 <ul>
12 <ul>
13 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
13 <li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
14 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
14 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
16 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
16 </ul>
17 </ul>
17 <ul>
18 <ul>
18 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
19 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
19 <li class="active">browse</li>
20 <li class="active">browse</li>
20 </ul>
21 </ul>
21 <ul>
22 <ul>
22 {archives%archiveentry}
23 {archives%archiveentry}
23 </ul>
24 </ul>
24 </div>
25 </div>
25
26
26 <div class="main">
27 <div class="main">
27 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
28 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
28 <h3>directory {path|escape} @ {rev}:{node|short} {tags%changelogtag}</h3>
29 <h3>directory {path|escape} @ {rev}:{node|short} {tags%changelogtag}</h3>
29
30
30 <form class="search" action="{url}log">
31 <form class="search" action="{url}log">
31 {sessionvars%hiddenformentry}
32 {sessionvars%hiddenformentry}
32 <p><input name="rev" id="search1" type="text" size="30" /></p>
33 <p><input name="rev" id="search1" type="text" size="30" /></p>
33 <div id="hint">find changesets by author, revision,
34 <div id="hint">find changesets by author, revision,
34 files, or words in the commit message</div>
35 files, or words in the commit message</div>
35 </form>
36 </form>
36
37
37 <table class="bigtable">
38 <table class="bigtable">
38 <tr>
39 <tr>
39 <th class="name">name</th>
40 <th class="name">name</th>
40 <th class="size">size</th>
41 <th class="size">size</th>
41 <th class="permissions">permissions</th>
42 <th class="permissions">permissions</th>
42 </tr>
43 </tr>
43 <tr class="fileline parity{upparity}">
44 <tr class="fileline parity{upparity}">
44 <td class="name"><a href="{url}file/{node|short}{up|urlescape}{sessionvars%urlparameter}">[up]</a></td>
45 <td class="name"><a href="{url}file/{node|short}{up|urlescape}{sessionvars%urlparameter}">[up]</a></td>
45 <td class="size"></td>
46 <td class="size"></td>
46 <td class="permissions">drwxr-xr-x</td>
47 <td class="permissions">drwxr-xr-x</td>
47 </tr>
48 </tr>
48 {dentries%direntry}
49 {dentries%direntry}
49 {fentries%fileentry}
50 {fentries%fileentry}
50 </table>
51 </table>
51 </div>
52 </div>
52 </div>
53 </div>
53 {footer}
54 {footer}
@@ -1,74 +1,76 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 = footer.tmpl
5 footer = footer.tmpl
6 search = search.tmpl
6 search = search.tmpl
7
7
8 changelog = shortlog.tmpl
8 changelog = shortlog.tmpl
9 shortlog = shortlog.tmpl
9 shortlog = shortlog.tmpl
10 shortlogentry = shortlogentry.tmpl
10 shortlogentry = shortlogentry.tmpl
11 graph = graph.tmpl
11 graph = 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 = shortlogentry.tmpl
21 changelogentry = shortlogentry.tmpl
22 searchentry = shortlogentry.tmpl
22 searchentry = shortlogentry.tmpl
23 changeset = changeset.tmpl
23 changeset = changeset.tmpl
24 manifest = manifest.tmpl
24 manifest = manifest.tmpl
25
25
26 direntry = '<tr class="fileline parity{parity}"><td class="name"><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}"><img src="{staticurl}coal-folder.png" alt="dir."/> {basename|escape}/</a> <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">{emptydirs|escape}</a></td><td class="size"></td><td class="permissions">drwxr-xr-x</td></tr>'
26 direntry = '<tr class="fileline parity{parity}"><td class="name"><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}"><img src="{staticurl}coal-folder.png" alt="dir."/> {basename|escape}/</a> <a href="{url}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">{emptydirs|escape}</a></td><td class="size"></td><td class="permissions">drwxr-xr-x</td></tr>'
27 fileentry = '<tr class="fileline parity{parity}"><td class="filename"><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}"><img src="{staticurl}coal-file.png" alt="file"/> {basename|escape}</a></td><td class="size">{size}</td><td class="permissions">{permissions|permissions}</td></tr>'
27 fileentry = '<tr class="fileline parity{parity}"><td class="filename"><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}"><img src="{staticurl}coal-file.png" alt="file"/> {basename|escape}</a></td><td class="size">{size}</td><td class="permissions">{permissions|permissions}</td></tr>'
28
28
29 filerevision = filerevision.tmpl
29 filerevision = filerevision.tmpl
30 fileannotate = fileannotate.tmpl
30 fileannotate = fileannotate.tmpl
31 filediff = filediff.tmpl
31 filediff = filediff.tmpl
32 filelog = filelog.tmpl
32 filelog = filelog.tmpl
33 fileline = '<div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
33 fileline = '<div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>'
34 filelogentry = filelogentry.tmpl
34 filelogentry = filelogentry.tmpl
35
35
36 annotateline = '<tr class="parity{parity}"><td class="annotate"><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}" title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a></td><td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td></tr>'
36 annotateline = '<tr class="parity{parity}"><td class="annotate"><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}" title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a></td><td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td></tr>'
37
37
38 diffblock = '<div class="source bottomline parity{parity}">{lines}</div>'
38 diffblock = '<div class="source bottomline parity{parity}">{lines}</div>'
39 difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
39 difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>'
40 difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
40 difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>'
41 difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
41 difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>'
42 diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
42 diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}'
43
43
44 changelogparent = '<tr><th class="parent">parent {rev}:</th><td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
44 changelogparent = '<tr><th class="parent">parent {rev}:</th><td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
45
45
46 changesetparent = '<a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
46 changesetparent = '<a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> '
47
47
48 filerevparent = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> '
48 filerevparent = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> '
49 filerevchild = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> '
49 filerevchild = '<a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> '
50
50
51 filerename = '{file|escape}@'
51 filerename = '{file|escape}@'
52 filelogrename = '<tr><th>base:</th><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}@{node|short}</a></td></tr>'
52 filelogrename = '<tr><th>base:</th><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}@{node|short}</a></td></tr>'
53 fileannotateparent = '<tr><td class="metatag">parent:</td><td><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a></td></tr>'
53 fileannotateparent = '<tr><td class="metatag">parent:</td><td><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a></td></tr>'
54 changesetchild = ' <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
54 changesetchild = ' <a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>'
55 changelogchild = '<tr><th class="child">child</th><td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
55 changelogchild = '<tr><th class="child">child</th><td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
56 fileannotatechild = '<tr><td class="metatag">child:</td><td><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
56 fileannotatechild = '<tr><td class="metatag">child:</td><td><a href="{url}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
57 tags = tags.tmpl
57 tags = tags.tmpl
58 tagentry = '<tr class="tagEntry parity{parity}"><td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{tag|escape}</a></td><td class="node">{node|short}</td></tr>'
58 tagentry = '<tr class="tagEntry parity{parity}"><td><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{tag|escape}</a></td><td class="node">{node|short}</td></tr>'
59 branches = branches.tmpl
60 branchentry = '<tr class="tagEntry parity{parity}"><td><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">{branch|escape}</a></td><td class="node">{node|short}</td></tr>'
59 changelogtag = '<span class="tag">{name|escape}</span> '
61 changelogtag = '<span class="tag">{name|escape}</span> '
60 changesettag = '<span class="tag">{tag|escape}</span> '
62 changesettag = '<span class="tag">{tag|escape}</span> '
61 changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
63 changelogbranchhead = '<span class="branchhead">{name|escape}</span> '
62 changelogbranchname = '<span class="branchname">{name|escape}</span> '
64 changelogbranchname = '<span class="branchname">{name|escape}</span> '
63 filediffparent = '<tr><th class="parent">parent {rev}:</th><td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
65 filediffparent = '<tr><th class="parent">parent {rev}:</th><td class="parent"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
64 filelogparent = '<tr><th>parent {rev}:</th><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
66 filelogparent = '<tr><th>parent {rev}:</th><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
65 filediffchild = '<tr><th class="child">child {rev}:</th><td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
67 filediffchild = '<tr><th class="child">child {rev}:</th><td class="child"><a href="{url}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
66 filelogchild = '<tr><th>child {rev}:</th><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
68 filelogchild = '<tr><th>child {rev}:</th><td><a href="{url}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td></tr>'
67 indexentry = '<tr class="parity{parity}"><td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td><td>{description}</td><td>{contact|obfuscate}</td><td class="age">{lastchange|age} ago</td><td class="indexlinks">{archives%indexarchiveentry}</td></tr>\n'
69 indexentry = '<tr class="parity{parity}"><td><a href="{url}{sessionvars%urlparameter}">{name|escape}</a></td><td>{description}</td><td>{contact|obfuscate}</td><td class="age">{lastchange|age} ago</td><td class="indexlinks">{archives%indexarchiveentry}</td></tr>\n'
68 indexarchiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
70 indexarchiveentry = '<a href="{url}archive/{node|short}{extension|urlescape}">&nbsp;&darr;{type|escape}</a>'
69 index = index.tmpl
71 index = index.tmpl
70 archiveentry = '<li><a href="{url}archive/{node|short}{extension|urlescape}">{type|escape}</a></li>'
72 archiveentry = '<li><a href="{url}archive/{node|short}{extension|urlescape}">{type|escape}</a></li>'
71 notfound = notfound.tmpl
73 notfound = notfound.tmpl
72 error = error.tmpl
74 error = error.tmpl
73 urlparameter = '{separator}{name}={value|urlescape}'
75 urlparameter = '{separator}{name}={value|urlescape}'
74 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
76 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />'
@@ -1,42 +1,43 b''
1 {header}
1 {header}
2 <title>{repo|escape}: searching for {query|escape}</title>
2 <title>{repo|escape}: searching for {query|escape}</title>
3 </head>
3 </head>
4 <body>
4 <body>
5
5
6 <div class="container">
6 <div class="container">
7 <div class="menu">
7 <div class="menu">
8 <div class="logo">
8 <div class="logo">
9 <a href="http://www.selenic.com/mercurial/">
9 <a href="http://www.selenic.com/mercurial/">
10 <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a>
10 <img src="{staticurl}hglogo.png" width=75 height=90 border=0 alt="mercurial"></a>
11 </div>
11 </div>
12 <ul>
12 <ul>
13 <li><a href="{url}shortlog{sessionvars%urlparameter}">log</a></li>
13 <li><a href="{url}shortlog{sessionvars%urlparameter}">log</a></li>
14 <li><a href="{url}graph{sessionvars%urlparameter}">graph</a></li>
14 <li><a href="{url}graph{sessionvars%urlparameter}">graph</a></li>
15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
15 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
16 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
16 </ul>
17 </ul>
17 </div>
18 </div>
18
19
19 <div class="main">
20 <div class="main">
20 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
21 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
21 <h3>searching for '{query|escape}'</h3>
22 <h3>searching for '{query|escape}'</h3>
22
23
23 <form class="search" action="{url}log">
24 <form class="search" action="{url}log">
24 {sessionvars%hiddenformentry}
25 {sessionvars%hiddenformentry}
25 <p><input name="rev" id="search1" type="text" size="30"></p>
26 <p><input name="rev" id="search1" type="text" size="30"></p>
26 <div id="hint">find changesets by author, revision,
27 <div id="hint">find changesets by author, revision,
27 files, or words in the commit message</div>
28 files, or words in the commit message</div>
28 </form>
29 </form>
29
30
30 <table class="bigtable">
31 <table class="bigtable">
31 <tr>
32 <tr>
32 <th class="age">age</th>
33 <th class="age">age</th>
33 <th class="author">author</th>
34 <th class="author">author</th>
34 <th class="description">description</th>
35 <th class="description">description</th>
35 </tr>
36 </tr>
36 {entries}
37 {entries}
37 </table>
38 </table>
38
39
39 </div>
40 </div>
40 </div>
41 </div>
41
42
42 {footer}
43 {footer}
@@ -1,56 +1,57 b''
1 {header}
1 {header}
2 <title>{repo|escape}: log</title>
2 <title>{repo|escape}: log</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 </head>
7 </head>
8 <body>
8 <body>
9
9
10 <div class="container">
10 <div class="container">
11 <div class="menu">
11 <div class="menu">
12 <div class="logo">
12 <div class="logo">
13 <a href="http://www.selenic.com/mercurial/">
13 <a href="http://www.selenic.com/mercurial/">
14 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
14 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
15 </div>
15 </div>
16 <ul>
16 <ul>
17 <li class="active">log</li>
17 <li class="active">log</li>
18 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
18 <li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
19 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
19 <li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
20 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
20 </ul>
21 </ul>
21 <ul>
22 <ul>
22 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
23 <li><a href="{url}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
23 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
24 <li><a href="{url}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
24 </ul>
25 </ul>
25 <ul>
26 <ul>
26 {archives%archiveentry}
27 {archives%archiveentry}
27 </ul>
28 </ul>
28 </div>
29 </div>
29
30
30 <div class="main">
31 <div class="main">
31 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
32 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
32 <h3>log</h3>
33 <h3>log</h3>
33
34
34 <form class="search" action="{url}log">
35 <form class="search" action="{url}log">
35 {sessionvars%hiddenformentry}
36 {sessionvars%hiddenformentry}
36 <p><input name="rev" id="search1" type="text" size="30" /></p>
37 <p><input name="rev" id="search1" type="text" size="30" /></p>
37 <div id="hint">find changesets by author, revision,
38 <div id="hint">find changesets by author, revision,
38 files, or words in the commit message</div>
39 files, or words in the commit message</div>
39 </form>
40 </form>
40
41
41 <div class="navigate">rev {rev}: {changenav%navshortentry}</div>
42 <div class="navigate">rev {rev}: {changenav%navshortentry}</div>
42
43
43 <table class="bigtable">
44 <table class="bigtable">
44 <tr>
45 <tr>
45 <th class="age">age</th>
46 <th class="age">age</th>
46 <th class="author">author</th>
47 <th class="author">author</th>
47 <th class="description">description</th>
48 <th class="description">description</th>
48 </tr>
49 </tr>
49 {entries%shortlogentry}
50 {entries%shortlogentry}
50 </table>
51 </table>
51
52
52 <div class="navigate">rev {rev}: {changenav%navshortentry}</div>
53 <div class="navigate">rev {rev}: {changenav%navshortentry}</div>
53 </div>
54 </div>
54 </div>
55 </div>
55
56
56 {footer}
57 {footer}
@@ -1,44 +1,45 b''
1 {header}
1 {header}
2 <title>{repo|escape}: tags</title>
2 <title>{repo|escape}: tags</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 </head>
7 </head>
8 <body>
8 <body>
9
9
10 <div class="container">
10 <div class="container">
11 <div class="menu">
11 <div class="menu">
12 <div class="logo">
12 <div class="logo">
13 <a href="http://www.selenic.com/mercurial/">
13 <a href="http://www.selenic.com/mercurial/">
14 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
14 <img src="{staticurl}hglogo.png" alt="mercurial" /></a>
15 </div>
15 </div>
16 <ul>
16 <ul>
17 <li><a href="{url}shortlog{sessionvars%urlparameter}">log</a></li>
17 <li><a href="{url}shortlog{sessionvars%urlparameter}">log</a></li>
18 <li><a href="{url}graph{sessionvars%urlparameter}">graph</a></li>
18 <li><a href="{url}graph{sessionvars%urlparameter}">graph</a></li>
19 <li class="active">tags</li>
19 <li class="active">tags</li>
20 <li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
20 </ul>
21 </ul>
21 </div>
22 </div>
22
23
23 <div class="main">
24 <div class="main">
24 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
25 <h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
25 <h3>tags</h3>
26 <h3>tags</h3>
26
27
27 <form class="search" action="{url}log">
28 <form class="search" action="{url}log">
28 {sessionvars%hiddenformentry}
29 {sessionvars%hiddenformentry}
29 <p><input name="rev" id="search1" type="text" size="30" /></p>
30 <p><input name="rev" id="search1" type="text" size="30" /></p>
30 <div id="hint">find changesets by author, revision,
31 <div id="hint">find changesets by author, revision,
31 files, or words in the commit message</div>
32 files, or words in the commit message</div>
32 </form>
33 </form>
33
34
34 <table class="bigtable">
35 <table class="bigtable">
35 <tr>
36 <tr>
36 <th>tag</th>
37 <th>tag</th>
37 <th>node</th>
38 <th>node</th>
38 </tr>
39 </tr>
39 {entries%tagentry}
40 {entries%tagentry}
40 </table>
41 </table>
41 </div>
42 </div>
42 </div>
43 </div>
43
44
44 {footer}
45 {footer}
@@ -1,73 +1,74 b''
1 % Set up the repo
1 % Set up the repo
2 adding a1/a2/a3/a4/foo
2 adding a1/a2/a3/a4/foo
3 adding b1/b2/b3/b4/foo
3 adding b1/b2/b3/b4/foo
4 adding b1/b2/c3/c4/foo
4 adding b1/b2/c3/c4/foo
5 adding d1/d2/d3/d4/foo
5 adding d1/d2/d3/d4/foo
6 adding d1/d2/foo
6 adding d1/d2/foo
7 % manifest with descending
7 % manifest with descending
8 200 Script output follows
8 200 Script output follows
9
9
10 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
10 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
11 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
11 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
12 <head>
12 <head>
13 <link rel="icon" href="/static/hgicon.png" type="image/png" />
13 <link rel="icon" href="/static/hgicon.png" type="image/png" />
14 <meta name="robots" content="index, nofollow" />
14 <meta name="robots" content="index, nofollow" />
15 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
15 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
16
16
17 <title>test: 9087c84a0f5d /</title>
17 <title>test: 9087c84a0f5d /</title>
18 </head>
18 </head>
19 <body>
19 <body>
20
20
21 <div class="container">
21 <div class="container">
22 <div class="menu">
22 <div class="menu">
23 <div class="logo">
23 <div class="logo">
24 <a href="http://www.selenic.com/mercurial/">
24 <a href="http://www.selenic.com/mercurial/">
25 <img src="/static/hglogo.png" alt="mercurial" /></a>
25 <img src="/static/hglogo.png" alt="mercurial" /></a>
26 </div>
26 </div>
27 <ul>
27 <ul>
28 <li><a href="/shortlog/9087c84a0f5d">log</a></li>
28 <li><a href="/shortlog/9087c84a0f5d">log</a></li>
29 <li><a href="/graph/9087c84a0f5d">graph</a></li>
29 <li><a href="/graph/9087c84a0f5d">graph</a></li>
30 <li><a href="/tags">tags</a></li>
30 <li><a href="/tags">tags</a></li>
31 <li><a href="/branches">branches</a></li>
31 </ul>
32 </ul>
32 <ul>
33 <ul>
33 <li><a href="/rev/9087c84a0f5d">changeset</a></li>
34 <li><a href="/rev/9087c84a0f5d">changeset</a></li>
34 <li class="active">browse</li>
35 <li class="active">browse</li>
35 </ul>
36 </ul>
36 <ul>
37 <ul>
37
38
38 </ul>
39 </ul>
39 </div>
40 </div>
40
41
41 <div class="main">
42 <div class="main">
42 <h2><a href="/">test</a></h2>
43 <h2><a href="/">test</a></h2>
43 <h3>directory / @ 0:9087c84a0f5d <span class="tag">tip</span> </h3>
44 <h3>directory / @ 0:9087c84a0f5d <span class="tag">tip</span> </h3>
44
45
45 <form class="search" action="/log">
46 <form class="search" action="/log">
46
47
47 <p><input name="rev" id="search1" type="text" size="30" /></p>
48 <p><input name="rev" id="search1" type="text" size="30" /></p>
48 <div id="hint">find changesets by author, revision,
49 <div id="hint">find changesets by author, revision,
49 files, or words in the commit message</div>
50 files, or words in the commit message</div>
50 </form>
51 </form>
51
52
52 <table class="bigtable">
53 <table class="bigtable">
53 <tr>
54 <tr>
54 <th class="name">name</th>
55 <th class="name">name</th>
55 <th class="size">size</th>
56 <th class="size">size</th>
56 <th class="permissions">permissions</th>
57 <th class="permissions">permissions</th>
57 </tr>
58 </tr>
58 <tr class="fileline parity0">
59 <tr class="fileline parity0">
59 <td class="name"><a href="/file/9087c84a0f5d/">[up]</a></td>
60 <td class="name"><a href="/file/9087c84a0f5d/">[up]</a></td>
60 <td class="size"></td>
61 <td class="size"></td>
61 <td class="permissions">drwxr-xr-x</td>
62 <td class="permissions">drwxr-xr-x</td>
62 </tr>
63 </tr>
63 <tr class="fileline parity1"><td class="name"><a href="/file/9087c84a0f5d/a1"><img src="/static/coal-folder.png" alt="dir."/> a1/</a> <a href="/file/9087c84a0f5d/a1/a2/a3/a4">a2/a3/a4</a></td><td class="size"></td><td class="permissions">drwxr-xr-x</td></tr><tr class="fileline parity0"><td class="name"><a href="/file/9087c84a0f5d/b1"><img src="/static/coal-folder.png" alt="dir."/> b1/</a> <a href="/file/9087c84a0f5d/b1/b2">b2</a></td><td class="size"></td><td class="permissions">drwxr-xr-x</td></tr><tr class="fileline parity1"><td class="name"><a href="/file/9087c84a0f5d/d1"><img src="/static/coal-folder.png" alt="dir."/> d1/</a> <a href="/file/9087c84a0f5d/d1/d2">d2</a></td><td class="size"></td><td class="permissions">drwxr-xr-x</td></tr>
64 <tr class="fileline parity1"><td class="name"><a href="/file/9087c84a0f5d/a1"><img src="/static/coal-folder.png" alt="dir."/> a1/</a> <a href="/file/9087c84a0f5d/a1/a2/a3/a4">a2/a3/a4</a></td><td class="size"></td><td class="permissions">drwxr-xr-x</td></tr><tr class="fileline parity0"><td class="name"><a href="/file/9087c84a0f5d/b1"><img src="/static/coal-folder.png" alt="dir."/> b1/</a> <a href="/file/9087c84a0f5d/b1/b2">b2</a></td><td class="size"></td><td class="permissions">drwxr-xr-x</td></tr><tr class="fileline parity1"><td class="name"><a href="/file/9087c84a0f5d/d1"><img src="/static/coal-folder.png" alt="dir."/> d1/</a> <a href="/file/9087c84a0f5d/d1/d2">d2</a></td><td class="size"></td><td class="permissions">drwxr-xr-x</td></tr>
64
65
65 </table>
66 </table>
66 </div>
67 </div>
67 </div>
68 </div>
68
69
69
70
70 </body>
71 </body>
71 </html>
72 </html>
72
73
73 % ERRORS ENCOUNTERED
74 % ERRORS ENCOUNTERED
@@ -1,368 +1,372 b''
1 % setting up repo
1 % setting up repo
2 adding a
2 adding a
3 adding b
3 adding b
4 % change permissions for git diffs
4 % change permissions for git diffs
5 % set up hgweb
5 % set up hgweb
6 % revision
6 % revision
7 200 Script output follows
7 200 Script output follows
8
8
9 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
9 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
10 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
10 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
11 <head>
11 <head>
12 <link rel="icon" href="/static/hgicon.png" type="image/png" />
12 <link rel="icon" href="/static/hgicon.png" type="image/png" />
13 <meta name="robots" content="index, nofollow" />
13 <meta name="robots" content="index, nofollow" />
14 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
14 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
15
15
16 <title>test: 0cd96de13884</title>
16 <title>test: 0cd96de13884</title>
17 </head>
17 </head>
18 <body>
18 <body>
19 <div class="container">
19 <div class="container">
20 <div class="menu">
20 <div class="menu">
21 <div class="logo">
21 <div class="logo">
22 <a href="http://www.selenic.com/mercurial/">
22 <a href="http://www.selenic.com/mercurial/">
23 <img src="/static/hglogo.png" alt="mercurial" /></a>
23 <img src="/static/hglogo.png" alt="mercurial" /></a>
24 </div>
24 </div>
25 <ul>
25 <ul>
26 <li><a href="/shortlog/0cd96de13884">log</a></li>
26 <li><a href="/shortlog/0cd96de13884">log</a></li>
27 <li><a href="/graph/0cd96de13884">graph</a></li>
27 <li><a href="/graph/0cd96de13884">graph</a></li>
28 <li><a href="/tags">tags</a></li>
28 <li><a href="/tags">tags</a></li>
29 <li><a href="/branches">branches</a></li>
29 </ul>
30 </ul>
30 <ul>
31 <ul>
31 <li class="active">changeset</li>
32 <li class="active">changeset</li>
32 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
33 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
33 <li><a href="/file/0cd96de13884">browse</a></li>
34 <li><a href="/file/0cd96de13884">browse</a></li>
34 </ul>
35 </ul>
35 <ul>
36 <ul>
36
37
37 </ul>
38 </ul>
38 </div>
39 </div>
39
40
40 <div class="main">
41 <div class="main">
41
42
42 <h2><a href="/">test</a></h2>
43 <h2><a href="/">test</a></h2>
43 <h3>changeset 0:0cd96de13884 </h3>
44 <h3>changeset 0:0cd96de13884 </h3>
44
45
45 <form class="search" action="/log">
46 <form class="search" action="/log">
46
47
47 <p><input name="rev" id="search1" type="text" size="30" /></p>
48 <p><input name="rev" id="search1" type="text" size="30" /></p>
48 <div id="hint">find changesets by author, revision,
49 <div id="hint">find changesets by author, revision,
49 files, or words in the commit message</div>
50 files, or words in the commit message</div>
50 </form>
51 </form>
51
52
52 <div class="description">a</div>
53 <div class="description">a</div>
53
54
54 <table id="changesetEntry">
55 <table id="changesetEntry">
55 <tr>
56 <tr>
56 <th class="author">author</th>
57 <th class="author">author</th>
57 <td class="author">&#116;&#101;&#115;&#116;</td>
58 <td class="author">&#116;&#101;&#115;&#116;</td>
58 </tr>
59 </tr>
59 <tr>
60 <tr>
60 <th class="date">date</th>
61 <th class="date">date</th>
61 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td></tr>
62 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td></tr>
62 <tr>
63 <tr>
63 <th class="author">parents</th>
64 <th class="author">parents</th>
64 <td class="author"></td>
65 <td class="author"></td>
65 </tr>
66 </tr>
66 <tr>
67 <tr>
67 <th class="author">children</th>
68 <th class="author">children</th>
68 <td class="author"> <a href="/rev/78e4ebad7cdf">78e4ebad7cdf</a></td>
69 <td class="author"> <a href="/rev/78e4ebad7cdf">78e4ebad7cdf</a></td>
69 </tr>
70 </tr>
70 <tr>
71 <tr>
71 <th class="files">files</th>
72 <th class="files">files</th>
72 <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
73 <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
73 </tr>
74 </tr>
74 </table>
75 </table>
75
76
76 <div class="overflow">
77 <div class="overflow">
77 <div class="sourcefirst"> line diff</div>
78 <div class="sourcefirst"> line diff</div>
78
79
79 <div class="source bottomline parity0"><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
80 <div class="source bottomline parity0"><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
80 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ b/a Thu Jan 01 00:00:00 1970 +0000
81 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ b/a Thu Jan 01 00:00:00 1970 +0000
81 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
82 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
82 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+a
83 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+a
83 </span></div><div class="source bottomline parity1"><a href="#l2.1" id="l2.1"> 2.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
84 </span></div><div class="source bottomline parity1"><a href="#l2.1" id="l2.1"> 2.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
84 </span><a href="#l2.2" id="l2.2"> 2.2</a> <span class="plusline">+++ b/b Thu Jan 01 00:00:00 1970 +0000
85 </span><a href="#l2.2" id="l2.2"> 2.2</a> <span class="plusline">+++ b/b Thu Jan 01 00:00:00 1970 +0000
85 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="atline">@@ -0,0 +1,1 @@
86 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="atline">@@ -0,0 +1,1 @@
86 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="plusline">+b
87 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="plusline">+b
87 </span></div>
88 </span></div>
88 </div>
89 </div>
89
90
90 </div>
91 </div>
91 </div>
92 </div>
92
93
93
94
94 </body>
95 </body>
95 </html>
96 </html>
96
97
97 % diff removed file
98 % diff removed file
98 200 Script output follows
99 200 Script output follows
99
100
100 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
101 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
101 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
102 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
102 <head>
103 <head>
103 <link rel="icon" href="/static/hgicon.png" type="image/png" />
104 <link rel="icon" href="/static/hgicon.png" type="image/png" />
104 <meta name="robots" content="index, nofollow" />
105 <meta name="robots" content="index, nofollow" />
105 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
106 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
106
107
107 <title>test: a diff</title>
108 <title>test: a diff</title>
108 </head>
109 </head>
109 <body>
110 <body>
110
111
111 <div class="container">
112 <div class="container">
112 <div class="menu">
113 <div class="menu">
113 <div class="logo">
114 <div class="logo">
114 <a href="http://www.selenic.com/mercurial/">
115 <a href="http://www.selenic.com/mercurial/">
115 <img src="/static/hglogo.png" alt="mercurial" /></a>
116 <img src="/static/hglogo.png" alt="mercurial" /></a>
116 </div>
117 </div>
117 <ul>
118 <ul>
118 <li><a href="/shortlog/78e4ebad7cdf">log</a></li>
119 <li><a href="/shortlog/78e4ebad7cdf">log</a></li>
119 <li><a href="/graph/78e4ebad7cdf">graph</a></li>
120 <li><a href="/graph/78e4ebad7cdf">graph</a></li>
120 <li><a href="/tags">tags</a></li>
121 <li><a href="/tags">tags</a></li>
122 <li><a href="/branches">branches</a></li>
121 </ul>
123 </ul>
122 <ul>
124 <ul>
123 <li><a href="/rev/78e4ebad7cdf">changeset</a></li>
125 <li><a href="/rev/78e4ebad7cdf">changeset</a></li>
124 <li><a href="/file/78e4ebad7cdf">browse</a></li>
126 <li><a href="/file/78e4ebad7cdf">browse</a></li>
125 </ul>
127 </ul>
126 <ul>
128 <ul>
127 <li><a href="/file/78e4ebad7cdf/a">file</a></li>
129 <li><a href="/file/78e4ebad7cdf/a">file</a></li>
128 <li class="active">diff</li>
130 <li class="active">diff</li>
129 <li><a href="/annotate/78e4ebad7cdf/a">annotate</a></li>
131 <li><a href="/annotate/78e4ebad7cdf/a">annotate</a></li>
130 <li><a href="/log/78e4ebad7cdf/a">file log</a></li>
132 <li><a href="/log/78e4ebad7cdf/a">file log</a></li>
131 <li><a href="/raw-file/78e4ebad7cdf/a">raw</a></li>
133 <li><a href="/raw-file/78e4ebad7cdf/a">raw</a></li>
132 </ul>
134 </ul>
133 </div>
135 </div>
134
136
135 <div class="main">
137 <div class="main">
136 <h2><a href="/">test</a></h2>
138 <h2><a href="/">test</a></h2>
137 <h3>diff a @ 1:78e4ebad7cdf</h3>
139 <h3>diff a @ 1:78e4ebad7cdf</h3>
138
140
139 <form class="search" action="/log">
141 <form class="search" action="/log">
140 <p></p>
142 <p></p>
141 <p><input name="rev" id="search1" type="text" size="30" /></p>
143 <p><input name="rev" id="search1" type="text" size="30" /></p>
142 <div id="hint">find changesets by author, revision,
144 <div id="hint">find changesets by author, revision,
143 files, or words in the commit message</div>
145 files, or words in the commit message</div>
144 </form>
146 </form>
145
147
146 <div class="description">b</div>
148 <div class="description">b</div>
147
149
148 <table id="changesetEntry">
150 <table id="changesetEntry">
149 <tr>
151 <tr>
150 <th>author</th>
152 <th>author</th>
151 <td>&#116;&#101;&#115;&#116;</td>
153 <td>&#116;&#101;&#115;&#116;</td>
152 </tr>
154 </tr>
153 <tr>
155 <tr>
154 <th>date</th>
156 <th>date</th>
155 <td>Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
157 <td>Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
156 </tr>
158 </tr>
157 <tr>
159 <tr>
158 <th>parents</th>
160 <th>parents</th>
159 <td></td>
161 <td></td>
160 </tr>
162 </tr>
161 <tr>
163 <tr>
162 <th>children</th>
164 <th>children</th>
163 <td></td>
165 <td></td>
164 </tr>
166 </tr>
165
167
166 </table>
168 </table>
167
169
168 <div class="overflow">
170 <div class="overflow">
169 <div class="sourcefirst"> line diff</div>
171 <div class="sourcefirst"> line diff</div>
170
172
171 <div class="source bottomline parity0"><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
173 <div class="source bottomline parity0"><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- /dev/null Thu Jan 01 00:00:00 1970 +0000
172 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ b/a Thu Jan 01 00:00:00 1970 +0000
174 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ b/a Thu Jan 01 00:00:00 1970 +0000
173 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
175 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -0,0 +1,1 @@
174 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+a
176 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="plusline">+a
175 </span></div>
177 </span></div>
176 </div>
178 </div>
177 </div>
179 </div>
178 </div>
180 </div>
179
181
180
182
181
183
182 </body>
184 </body>
183 </html>
185 </html>
184
186
185 % set up hgweb with git diffs
187 % set up hgweb with git diffs
186 % revision
188 % revision
187 200 Script output follows
189 200 Script output follows
188
190
189 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
191 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
190 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
192 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
191 <head>
193 <head>
192 <link rel="icon" href="/static/hgicon.png" type="image/png" />
194 <link rel="icon" href="/static/hgicon.png" type="image/png" />
193 <meta name="robots" content="index, nofollow" />
195 <meta name="robots" content="index, nofollow" />
194 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
196 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
195
197
196 <title>test: 0cd96de13884</title>
198 <title>test: 0cd96de13884</title>
197 </head>
199 </head>
198 <body>
200 <body>
199 <div class="container">
201 <div class="container">
200 <div class="menu">
202 <div class="menu">
201 <div class="logo">
203 <div class="logo">
202 <a href="http://www.selenic.com/mercurial/">
204 <a href="http://www.selenic.com/mercurial/">
203 <img src="/static/hglogo.png" alt="mercurial" /></a>
205 <img src="/static/hglogo.png" alt="mercurial" /></a>
204 </div>
206 </div>
205 <ul>
207 <ul>
206 <li><a href="/shortlog/0cd96de13884">log</a></li>
208 <li><a href="/shortlog/0cd96de13884">log</a></li>
207 <li><a href="/graph/0cd96de13884">graph</a></li>
209 <li><a href="/graph/0cd96de13884">graph</a></li>
208 <li><a href="/tags">tags</a></li>
210 <li><a href="/tags">tags</a></li>
211 <li><a href="/branches">branches</a></li>
209 </ul>
212 </ul>
210 <ul>
213 <ul>
211 <li class="active">changeset</li>
214 <li class="active">changeset</li>
212 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
215 <li><a href="/raw-rev/0cd96de13884">raw</a></li>
213 <li><a href="/file/0cd96de13884">browse</a></li>
216 <li><a href="/file/0cd96de13884">browse</a></li>
214 </ul>
217 </ul>
215 <ul>
218 <ul>
216
219
217 </ul>
220 </ul>
218 </div>
221 </div>
219
222
220 <div class="main">
223 <div class="main">
221
224
222 <h2><a href="/">test</a></h2>
225 <h2><a href="/">test</a></h2>
223 <h3>changeset 0:0cd96de13884 </h3>
226 <h3>changeset 0:0cd96de13884 </h3>
224
227
225 <form class="search" action="/log">
228 <form class="search" action="/log">
226
229
227 <p><input name="rev" id="search1" type="text" size="30" /></p>
230 <p><input name="rev" id="search1" type="text" size="30" /></p>
228 <div id="hint">find changesets by author, revision,
231 <div id="hint">find changesets by author, revision,
229 files, or words in the commit message</div>
232 files, or words in the commit message</div>
230 </form>
233 </form>
231
234
232 <div class="description">a</div>
235 <div class="description">a</div>
233
236
234 <table id="changesetEntry">
237 <table id="changesetEntry">
235 <tr>
238 <tr>
236 <th class="author">author</th>
239 <th class="author">author</th>
237 <td class="author">&#116;&#101;&#115;&#116;</td>
240 <td class="author">&#116;&#101;&#115;&#116;</td>
238 </tr>
241 </tr>
239 <tr>
242 <tr>
240 <th class="date">date</th>
243 <th class="date">date</th>
241 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td></tr>
244 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td></tr>
242 <tr>
245 <tr>
243 <th class="author">parents</th>
246 <th class="author">parents</th>
244 <td class="author"></td>
247 <td class="author"></td>
245 </tr>
248 </tr>
246 <tr>
249 <tr>
247 <th class="author">children</th>
250 <th class="author">children</th>
248 <td class="author"> <a href="/rev/78e4ebad7cdf">78e4ebad7cdf</a></td>
251 <td class="author"> <a href="/rev/78e4ebad7cdf">78e4ebad7cdf</a></td>
249 </tr>
252 </tr>
250 <tr>
253 <tr>
251 <th class="files">files</th>
254 <th class="files">files</th>
252 <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
255 <td class="files"><a href="/file/0cd96de13884/a">a</a> <a href="/file/0cd96de13884/b">b</a> </td>
253 </tr>
256 </tr>
254 </table>
257 </table>
255
258
256 <div class="overflow">
259 <div class="overflow">
257 <div class="sourcefirst"> line diff</div>
260 <div class="sourcefirst"> line diff</div>
258
261
259 <div class="source bottomline parity0"><a href="#l1.1" id="l1.1"> 1.1</a> new file mode 100644
262 <div class="source bottomline parity0"><a href="#l1.1" id="l1.1"> 1.1</a> new file mode 100644
260 <a href="#l1.2" id="l1.2"> 1.2</a> <span class="minusline">--- /dev/null
263 <a href="#l1.2" id="l1.2"> 1.2</a> <span class="minusline">--- /dev/null
261 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="plusline">+++ b/a
264 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="plusline">+++ b/a
262 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="atline">@@ -0,0 +1,1 @@
265 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="atline">@@ -0,0 +1,1 @@
263 </span><a href="#l1.5" id="l1.5"> 1.5</a> <span class="plusline">+a
266 </span><a href="#l1.5" id="l1.5"> 1.5</a> <span class="plusline">+a
264 </span></div><div class="source bottomline parity1"><a href="#l2.1" id="l2.1"> 2.1</a> new file mode 100644
267 </span></div><div class="source bottomline parity1"><a href="#l2.1" id="l2.1"> 2.1</a> new file mode 100644
265 <a href="#l2.2" id="l2.2"> 2.2</a> <span class="minusline">--- /dev/null
268 <a href="#l2.2" id="l2.2"> 2.2</a> <span class="minusline">--- /dev/null
266 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="plusline">+++ b/b
269 </span><a href="#l2.3" id="l2.3"> 2.3</a> <span class="plusline">+++ b/b
267 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="atline">@@ -0,0 +1,1 @@
270 </span><a href="#l2.4" id="l2.4"> 2.4</a> <span class="atline">@@ -0,0 +1,1 @@
268 </span><a href="#l2.5" id="l2.5"> 2.5</a> <span class="plusline">+b
271 </span><a href="#l2.5" id="l2.5"> 2.5</a> <span class="plusline">+b
269 </span></div>
272 </span></div>
270 </div>
273 </div>
271
274
272 </div>
275 </div>
273 </div>
276 </div>
274
277
275
278
276 </body>
279 </body>
277 </html>
280 </html>
278
281
279 % diff removed file
282 % diff removed file
280 200 Script output follows
283 200 Script output follows
281
284
282 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
285 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
283 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
286 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
284 <head>
287 <head>
285 <link rel="icon" href="/static/hgicon.png" type="image/png" />
288 <link rel="icon" href="/static/hgicon.png" type="image/png" />
286 <meta name="robots" content="index, nofollow" />
289 <meta name="robots" content="index, nofollow" />
287 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
290 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
288
291
289 <title>test: a diff</title>
292 <title>test: a diff</title>
290 </head>
293 </head>
291 <body>
294 <body>
292
295
293 <div class="container">
296 <div class="container">
294 <div class="menu">
297 <div class="menu">
295 <div class="logo">
298 <div class="logo">
296 <a href="http://www.selenic.com/mercurial/">
299 <a href="http://www.selenic.com/mercurial/">
297 <img src="/static/hglogo.png" alt="mercurial" /></a>
300 <img src="/static/hglogo.png" alt="mercurial" /></a>
298 </div>
301 </div>
299 <ul>
302 <ul>
300 <li><a href="/shortlog/78e4ebad7cdf">log</a></li>
303 <li><a href="/shortlog/78e4ebad7cdf">log</a></li>
301 <li><a href="/graph/78e4ebad7cdf">graph</a></li>
304 <li><a href="/graph/78e4ebad7cdf">graph</a></li>
302 <li><a href="/tags">tags</a></li>
305 <li><a href="/tags">tags</a></li>
306 <li><a href="/branches">branches</a></li>
303 </ul>
307 </ul>
304 <ul>
308 <ul>
305 <li><a href="/rev/78e4ebad7cdf">changeset</a></li>
309 <li><a href="/rev/78e4ebad7cdf">changeset</a></li>
306 <li><a href="/file/78e4ebad7cdf">browse</a></li>
310 <li><a href="/file/78e4ebad7cdf">browse</a></li>
307 </ul>
311 </ul>
308 <ul>
312 <ul>
309 <li><a href="/file/78e4ebad7cdf/a">file</a></li>
313 <li><a href="/file/78e4ebad7cdf/a">file</a></li>
310 <li class="active">diff</li>
314 <li class="active">diff</li>
311 <li><a href="/annotate/78e4ebad7cdf/a">annotate</a></li>
315 <li><a href="/annotate/78e4ebad7cdf/a">annotate</a></li>
312 <li><a href="/log/78e4ebad7cdf/a">file log</a></li>
316 <li><a href="/log/78e4ebad7cdf/a">file log</a></li>
313 <li><a href="/raw-file/78e4ebad7cdf/a">raw</a></li>
317 <li><a href="/raw-file/78e4ebad7cdf/a">raw</a></li>
314 </ul>
318 </ul>
315 </div>
319 </div>
316
320
317 <div class="main">
321 <div class="main">
318 <h2><a href="/">test</a></h2>
322 <h2><a href="/">test</a></h2>
319 <h3>diff a @ 1:78e4ebad7cdf</h3>
323 <h3>diff a @ 1:78e4ebad7cdf</h3>
320
324
321 <form class="search" action="/log">
325 <form class="search" action="/log">
322 <p></p>
326 <p></p>
323 <p><input name="rev" id="search1" type="text" size="30" /></p>
327 <p><input name="rev" id="search1" type="text" size="30" /></p>
324 <div id="hint">find changesets by author, revision,
328 <div id="hint">find changesets by author, revision,
325 files, or words in the commit message</div>
329 files, or words in the commit message</div>
326 </form>
330 </form>
327
331
328 <div class="description">b</div>
332 <div class="description">b</div>
329
333
330 <table id="changesetEntry">
334 <table id="changesetEntry">
331 <tr>
335 <tr>
332 <th>author</th>
336 <th>author</th>
333 <td>&#116;&#101;&#115;&#116;</td>
337 <td>&#116;&#101;&#115;&#116;</td>
334 </tr>
338 </tr>
335 <tr>
339 <tr>
336 <th>date</th>
340 <th>date</th>
337 <td>Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
341 <td>Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
338 </tr>
342 </tr>
339 <tr>
343 <tr>
340 <th>parents</th>
344 <th>parents</th>
341 <td></td>
345 <td></td>
342 </tr>
346 </tr>
343 <tr>
347 <tr>
344 <th>children</th>
348 <th>children</th>
345 <td></td>
349 <td></td>
346 </tr>
350 </tr>
347
351
348 </table>
352 </table>
349
353
350 <div class="overflow">
354 <div class="overflow">
351 <div class="sourcefirst"> line diff</div>
355 <div class="sourcefirst"> line diff</div>
352
356
353 <div class="source bottomline parity0"><a href="#l1.1" id="l1.1"> 1.1</a> new file mode 100755
357 <div class="source bottomline parity0"><a href="#l1.1" id="l1.1"> 1.1</a> new file mode 100755
354 <a href="#l1.2" id="l1.2"> 1.2</a> <span class="minusline">--- /dev/null
358 <a href="#l1.2" id="l1.2"> 1.2</a> <span class="minusline">--- /dev/null
355 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="plusline">+++ b/a
359 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="plusline">+++ b/a
356 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="atline">@@ -0,0 +1,1 @@
360 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="atline">@@ -0,0 +1,1 @@
357 </span><a href="#l1.5" id="l1.5"> 1.5</a> <span class="plusline">+a
361 </span><a href="#l1.5" id="l1.5"> 1.5</a> <span class="plusline">+a
358 </span></div>
362 </span></div>
359 </div>
363 </div>
360 </div>
364 </div>
361 </div>
365 </div>
362
366
363
367
364
368
365 </body>
369 </body>
366 </html>
370 </html>
367
371
368 % errors
372 % errors
@@ -1,344 +1,348 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://www.selenic.com/mercurial/">
21 <a href="http://www.selenic.com/mercurial/">
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 </ul>
29 </ul>
29 <ul>
30 <ul>
30 <li><a href="/rev/000000000000">changeset</a></li>
31 <li><a href="/rev/000000000000">changeset</a></li>
31 <li><a href="/file/000000000000">browse</a></li>
32 <li><a href="/file/000000000000">browse</a></li>
32 </ul>
33 </ul>
33 <ul>
34 <ul>
34
35
35 </ul>
36 </ul>
36 </div>
37 </div>
37
38
38 <div class="main">
39 <div class="main">
39 <h2><a href="/">test</a></h2>
40 <h2><a href="/">test</a></h2>
40 <h3>log</h3>
41 <h3>log</h3>
41
42
42 <form class="search" action="/log">
43 <form class="search" action="/log">
43
44
44 <p><input name="rev" id="search1" type="text" size="30" /></p>
45 <p><input name="rev" id="search1" type="text" size="30" /></p>
45 <div id="hint">find changesets by author, revision,
46 <div id="hint">find changesets by author, revision,
46 files, or words in the commit message</div>
47 files, or words in the commit message</div>
47 </form>
48 </form>
48
49
49 <div class="navigate">rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a> </div>
50 <div class="navigate">rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a> </div>
50
51
51 <table class="bigtable">
52 <table class="bigtable">
52 <tr>
53 <tr>
53 <th class="age">age</th>
54 <th class="age">age</th>
54 <th class="author">author</th>
55 <th class="author">author</th>
55 <th class="description">description</th>
56 <th class="description">description</th>
56 </tr>
57 </tr>
57
58
58 </table>
59 </table>
59
60
60 <div class="navigate">rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a> </div>
61 <div class="navigate">rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a> </div>
61 </div>
62 </div>
62 </div>
63 </div>
63
64
64
65
65
66
66 </body>
67 </body>
67 </html>
68 </html>
68
69
69 200 Script output follows
70 200 Script output follows
70
71
71 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
72 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
72 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
73 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
73 <head>
74 <head>
74 <link rel="icon" href="/static/hgicon.png" type="image/png" />
75 <link rel="icon" href="/static/hgicon.png" type="image/png" />
75 <meta name="robots" content="index, nofollow" />
76 <meta name="robots" content="index, nofollow" />
76 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
77 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
77
78
78 <title>test: log</title>
79 <title>test: log</title>
79 <link rel="alternate" type="application/atom+xml"
80 <link rel="alternate" type="application/atom+xml"
80 href="/atom-log" title="Atom feed for test" />
81 href="/atom-log" title="Atom feed for test" />
81 <link rel="alternate" type="application/rss+xml"
82 <link rel="alternate" type="application/rss+xml"
82 href="/rss-log" title="RSS feed for test" />
83 href="/rss-log" title="RSS feed for test" />
83 </head>
84 </head>
84 <body>
85 <body>
85
86
86 <div class="container">
87 <div class="container">
87 <div class="menu">
88 <div class="menu">
88 <div class="logo">
89 <div class="logo">
89 <a href="http://www.selenic.com/mercurial/">
90 <a href="http://www.selenic.com/mercurial/">
90 <img src="/static/hglogo.png" alt="mercurial" /></a>
91 <img src="/static/hglogo.png" alt="mercurial" /></a>
91 </div>
92 </div>
92 <ul>
93 <ul>
93 <li class="active">log</li>
94 <li class="active">log</li>
94 <li><a href="/graph/000000000000">graph</a></li>
95 <li><a href="/graph/000000000000">graph</a></li>
95 <li><a href="/tags">tags</a></li>
96 <li><a href="/tags">tags</a></li>
97 <li><a href="/branches">branches</a></li>
96 </ul>
98 </ul>
97 <ul>
99 <ul>
98 <li><a href="/rev/000000000000">changeset</a></li>
100 <li><a href="/rev/000000000000">changeset</a></li>
99 <li><a href="/file/000000000000">browse</a></li>
101 <li><a href="/file/000000000000">browse</a></li>
100 </ul>
102 </ul>
101 <ul>
103 <ul>
102
104
103 </ul>
105 </ul>
104 </div>
106 </div>
105
107
106 <div class="main">
108 <div class="main">
107 <h2><a href="/">test</a></h2>
109 <h2><a href="/">test</a></h2>
108 <h3>log</h3>
110 <h3>log</h3>
109
111
110 <form class="search" action="/log">
112 <form class="search" action="/log">
111
113
112 <p><input name="rev" id="search1" type="text" size="30" /></p>
114 <p><input name="rev" id="search1" type="text" size="30" /></p>
113 <div id="hint">find changesets by author, revision,
115 <div id="hint">find changesets by author, revision,
114 files, or words in the commit message</div>
116 files, or words in the commit message</div>
115 </form>
117 </form>
116
118
117 <div class="navigate">rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a> </div>
119 <div class="navigate">rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a> </div>
118
120
119 <table class="bigtable">
121 <table class="bigtable">
120 <tr>
122 <tr>
121 <th class="age">age</th>
123 <th class="age">age</th>
122 <th class="author">author</th>
124 <th class="author">author</th>
123 <th class="description">description</th>
125 <th class="description">description</th>
124 </tr>
126 </tr>
125
127
126 </table>
128 </table>
127
129
128 <div class="navigate">rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a> </div>
130 <div class="navigate">rev -1: <a href="/shortlog/000000000000">(0)</a> <a href="/shortlog/tip">tip</a> </div>
129 </div>
131 </div>
130 </div>
132 </div>
131
133
132
134
133
135
134 </body>
136 </body>
135 </html>
137 </html>
136
138
137 200 Script output follows
139 200 Script output follows
138
140
139 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
141 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
140 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
142 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
141 <head>
143 <head>
142 <link rel="icon" href="/static/hgicon.png" type="image/png" />
144 <link rel="icon" href="/static/hgicon.png" type="image/png" />
143 <meta name="robots" content="index, nofollow" />
145 <meta name="robots" content="index, nofollow" />
144 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
146 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
145
147
146 <title>test: revision graph</title>
148 <title>test: revision graph</title>
147 <link rel="alternate" type="application/atom+xml"
149 <link rel="alternate" type="application/atom+xml"
148 href="/atom-log" title="Atom feed for test: log" />
150 href="/atom-log" title="Atom feed for test: log" />
149 <link rel="alternate" type="application/rss+xml"
151 <link rel="alternate" type="application/rss+xml"
150 href="/rss-log" title="RSS feed for test: log" />
152 href="/rss-log" title="RSS feed for test: log" />
151 <!--[if IE]><script type="text/javascript" src="/static/excanvas.js"></script><![endif]-->
153 <!--[if IE]><script type="text/javascript" src="/static/excanvas.js"></script><![endif]-->
152 </head>
154 </head>
153 <body>
155 <body>
154
156
155 <div class="container">
157 <div class="container">
156 <div class="menu">
158 <div class="menu">
157 <div class="logo">
159 <div class="logo">
158 <a href="http://www.selenic.com/mercurial/">
160 <a href="http://www.selenic.com/mercurial/">
159 <img src="/static/hglogo.png" alt="mercurial" /></a>
161 <img src="/static/hglogo.png" alt="mercurial" /></a>
160 </div>
162 </div>
161 <ul>
163 <ul>
162 <li><a href="/shortlog/000000000000">log</a></li>
164 <li><a href="/shortlog/000000000000">log</a></li>
163 <li class="active">graph</li>
165 <li class="active">graph</li>
164 <li><a href="/tags">tags</a></li>
166 <li><a href="/tags">tags</a></li>
167 <li><a href="/branches">branches</a></li>
165 </ul>
168 </ul>
166 <ul>
169 <ul>
167 <li><a href="/rev/000000000000">changeset</a></li>
170 <li><a href="/rev/000000000000">changeset</a></li>
168 <li><a href="/file/000000000000">browse</a></li>
171 <li><a href="/file/000000000000">browse</a></li>
169 </ul>
172 </ul>
170 </div>
173 </div>
171
174
172 <div class="main">
175 <div class="main">
173 <h2><a href="/">test</a></h2>
176 <h2><a href="/">test</a></h2>
174 <h3>graph</h3>
177 <h3>graph</h3>
175
178
176 <form class="search" action="/log">
179 <form class="search" action="/log">
177
180
178 <p><input name="rev" id="search1" type="text" size="30" /></p>
181 <p><input name="rev" id="search1" type="text" size="30" /></p>
179 <div id="hint">find changesets by author, revision,
182 <div id="hint">find changesets by author, revision,
180 files, or words in the commit message</div>
183 files, or words in the commit message</div>
181 </form>
184 </form>
182
185
183 <div class="navigate">
186 <div class="navigate">
184 <a href="/graph/-1?revcount=12">less</a>
187 <a href="/graph/-1?revcount=12">less</a>
185 <a href="/graph/-1?revcount=50">more</a>
188 <a href="/graph/-1?revcount=50">more</a>
186 | rev -1: <a href="/graph/000000000000">(0)</a> <a href="/graph/tip">tip</a>
189 | rev -1: <a href="/graph/000000000000">(0)</a> <a href="/graph/tip">tip</a>
187 </div>
190 </div>
188
191
189 <noscript><p>The revision graph only works with JavaScript-enabled browsers.</p></noscript>
192 <noscript><p>The revision graph only works with JavaScript-enabled browsers.</p></noscript>
190
193
191 <div id="wrapper">
194 <div id="wrapper">
192 <ul id="nodebgs"></ul>
195 <ul id="nodebgs"></ul>
193 <canvas id="graph" width="224" height="12"></canvas>
196 <canvas id="graph" width="224" height="12"></canvas>
194 <ul id="graphnodes"></ul>
197 <ul id="graphnodes"></ul>
195 </div>
198 </div>
196
199
197 <script type="text/javascript" src="/static/graph.js"></script>
200 <script type="text/javascript" src="/static/graph.js"></script>
198 <script type="text/javascript">
201 <script type="text/javascript">
199 <!-- hide script content
202 <!-- hide script content
200
203
201 var data = [];
204 var data = [];
202 var graph = new Graph();
205 var graph = new Graph();
203 graph.scale(39);
206 graph.scale(39);
204
207
205 graph.edge = function(x0, y0, x1, y1, color) {
208 graph.edge = function(x0, y0, x1, y1, color) {
206
209
207 this.setColor(color, 0.0, 0.65);
210 this.setColor(color, 0.0, 0.65);
208 this.ctx.beginPath();
211 this.ctx.beginPath();
209 this.ctx.moveTo(x0, y0);
212 this.ctx.moveTo(x0, y0);
210 this.ctx.lineTo(x1, y1);
213 this.ctx.lineTo(x1, y1);
211 this.ctx.stroke();
214 this.ctx.stroke();
212
215
213 }
216 }
214
217
215 var revlink = '<li style="_STYLE"><span class="desc">';
218 var revlink = '<li style="_STYLE"><span class="desc">';
216 revlink += '<a href="/rev/_NODEID" title="_NODEID">_DESC</a>';
219 revlink += '<a href="/rev/_NODEID" title="_NODEID">_DESC</a>';
217 revlink += '</span>_TAGS<span class="info">_DATE ago, by _USER</span></li>';
220 revlink += '</span>_TAGS<span class="info">_DATE ago, by _USER</span></li>';
218
221
219 graph.vertex = function(x, y, color, parity, cur) {
222 graph.vertex = function(x, y, color, parity, cur) {
220
223
221 this.ctx.beginPath();
224 this.ctx.beginPath();
222 color = this.setColor(color, 0.25, 0.75);
225 color = this.setColor(color, 0.25, 0.75);
223 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
226 this.ctx.arc(x, y, radius, 0, Math.PI * 2, true);
224 this.ctx.fill();
227 this.ctx.fill();
225
228
226 var bg = '<li class="bg parity' + parity + '"></li>';
229 var bg = '<li class="bg parity' + parity + '"></li>';
227 var left = (this.columns + 1) * this.bg_height;
230 var left = (this.columns + 1) * this.bg_height;
228 var nstyle = 'padding-left: ' + left + 'px;';
231 var nstyle = 'padding-left: ' + left + 'px;';
229 var item = revlink.replace(/_STYLE/, nstyle);
232 var item = revlink.replace(/_STYLE/, nstyle);
230 item = item.replace(/_PARITY/, 'parity' + parity);
233 item = item.replace(/_PARITY/, 'parity' + parity);
231 item = item.replace(/_NODEID/, cur[0]);
234 item = item.replace(/_NODEID/, cur[0]);
232 item = item.replace(/_NODEID/, cur[0]);
235 item = item.replace(/_NODEID/, cur[0]);
233 item = item.replace(/_DESC/, cur[3]);
236 item = item.replace(/_DESC/, cur[3]);
234 item = item.replace(/_USER/, cur[4]);
237 item = item.replace(/_USER/, cur[4]);
235 item = item.replace(/_DATE/, cur[5]);
238 item = item.replace(/_DATE/, cur[5]);
236
239
237 var tagspan = '';
240 var tagspan = '';
238 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
241 if (cur[7].length || (cur[6][0] != 'default' || cur[6][1])) {
239 tagspan = '<span class="logtags">';
242 tagspan = '<span class="logtags">';
240 if (cur[6][1]) {
243 if (cur[6][1]) {
241 tagspan += '<span class="branchhead" title="' + cur[6][0] + '">';
244 tagspan += '<span class="branchhead" title="' + cur[6][0] + '">';
242 tagspan += cur[6][0] + '</span> ';
245 tagspan += cur[6][0] + '</span> ';
243 } else if (!cur[6][1] && cur[6][0] != 'default') {
246 } else if (!cur[6][1] && cur[6][0] != 'default') {
244 tagspan += '<span class="branchname" title="' + cur[6][0] + '">';
247 tagspan += '<span class="branchname" title="' + cur[6][0] + '">';
245 tagspan += cur[6][0] + '</span> ';
248 tagspan += cur[6][0] + '</span> ';
246 }
249 }
247 if (cur[7].length) {
250 if (cur[7].length) {
248 for (var t in cur[7]) {
251 for (var t in cur[7]) {
249 var tag = cur[7][t];
252 var tag = cur[7][t];
250 tagspan += '<span class="tag">' + tag + '</span> ';
253 tagspan += '<span class="tag">' + tag + '</span> ';
251 }
254 }
252 }
255 }
253 tagspan += '</span>';
256 tagspan += '</span>';
254 }
257 }
255
258
256 item = item.replace(/_TAGS/, tagspan);
259 item = item.replace(/_TAGS/, tagspan);
257 return [bg, item];
260 return [bg, item];
258
261
259 }
262 }
260
263
261 graph.render(data);
264 graph.render(data);
262
265
263 // stop hiding script -->
266 // stop hiding script -->
264 </script>
267 </script>
265
268
266 <div class="navigate">
269 <div class="navigate">
267 <a href="/graph/-1?revcount=12">less</a>
270 <a href="/graph/-1?revcount=12">less</a>
268 <a href="/graph/-1?revcount=50">more</a>
271 <a href="/graph/-1?revcount=50">more</a>
269 | rev -1: <a href="/graph/000000000000">(0)</a> <a href="/graph/tip">tip</a>
272 | rev -1: <a href="/graph/000000000000">(0)</a> <a href="/graph/tip">tip</a>
270 </div>
273 </div>
271
274
272 </div>
275 </div>
273 </div>
276 </div>
274
277
275
278
276
279
277 </body>
280 </body>
278 </html>
281 </html>
279
282
280 200 Script output follows
283 200 Script output follows
281
284
282 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
285 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
283 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
286 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
284 <head>
287 <head>
285 <link rel="icon" href="/static/hgicon.png" type="image/png" />
288 <link rel="icon" href="/static/hgicon.png" type="image/png" />
286 <meta name="robots" content="index, nofollow" />
289 <meta name="robots" content="index, nofollow" />
287 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
290 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
288
291
289 <title>test: 000000000000 /</title>
292 <title>test: 000000000000 /</title>
290 </head>
293 </head>
291 <body>
294 <body>
292
295
293 <div class="container">
296 <div class="container">
294 <div class="menu">
297 <div class="menu">
295 <div class="logo">
298 <div class="logo">
296 <a href="http://www.selenic.com/mercurial/">
299 <a href="http://www.selenic.com/mercurial/">
297 <img src="/static/hglogo.png" alt="mercurial" /></a>
300 <img src="/static/hglogo.png" alt="mercurial" /></a>
298 </div>
301 </div>
299 <ul>
302 <ul>
300 <li><a href="/shortlog/000000000000">log</a></li>
303 <li><a href="/shortlog/000000000000">log</a></li>
301 <li><a href="/graph/000000000000">graph</a></li>
304 <li><a href="/graph/000000000000">graph</a></li>
302 <li><a href="/tags">tags</a></li>
305 <li><a href="/tags">tags</a></li>
306 <li><a href="/branches">branches</a></li>
303 </ul>
307 </ul>
304 <ul>
308 <ul>
305 <li><a href="/rev/000000000000">changeset</a></li>
309 <li><a href="/rev/000000000000">changeset</a></li>
306 <li class="active">browse</li>
310 <li class="active">browse</li>
307 </ul>
311 </ul>
308 <ul>
312 <ul>
309
313
310 </ul>
314 </ul>
311 </div>
315 </div>
312
316
313 <div class="main">
317 <div class="main">
314 <h2><a href="/">test</a></h2>
318 <h2><a href="/">test</a></h2>
315 <h3>directory / @ -1:000000000000 <span class="tag">tip</span> </h3>
319 <h3>directory / @ -1:000000000000 <span class="tag">tip</span> </h3>
316
320
317 <form class="search" action="/log">
321 <form class="search" action="/log">
318
322
319 <p><input name="rev" id="search1" type="text" size="30" /></p>
323 <p><input name="rev" id="search1" type="text" size="30" /></p>
320 <div id="hint">find changesets by author, revision,
324 <div id="hint">find changesets by author, revision,
321 files, or words in the commit message</div>
325 files, or words in the commit message</div>
322 </form>
326 </form>
323
327
324 <table class="bigtable">
328 <table class="bigtable">
325 <tr>
329 <tr>
326 <th class="name">name</th>
330 <th class="name">name</th>
327 <th class="size">size</th>
331 <th class="size">size</th>
328 <th class="permissions">permissions</th>
332 <th class="permissions">permissions</th>
329 </tr>
333 </tr>
330 <tr class="fileline parity0">
334 <tr class="fileline parity0">
331 <td class="name"><a href="/file/000000000000/">[up]</a></td>
335 <td class="name"><a href="/file/000000000000/">[up]</a></td>
332 <td class="size"></td>
336 <td class="size"></td>
333 <td class="permissions">drwxr-xr-x</td>
337 <td class="permissions">drwxr-xr-x</td>
334 </tr>
338 </tr>
335
339
336
340
337 </table>
341 </table>
338 </div>
342 </div>
339 </div>
343 </div>
340
344
341
345
342 </body>
346 </body>
343 </html>
347 </html>
344
348
@@ -1,555 +1,560 b''
1 adding b
1 adding b
2 adding a
2 adding a
3 adding a
3 adding a
4 changeset: 6:38d962e6234d
4 changeset: 6:38d962e6234d
5 tag: tip
5 tag: tip
6 user: test
6 user: test
7 date: Thu Jan 01 00:00:00 1970 +0000
7 date: Thu Jan 01 00:00:00 1970 +0000
8 summary: change c
8 summary: change c
9
9
10 diff -r a3b6a9e4507e -r 38d962e6234d c
10 diff -r a3b6a9e4507e -r 38d962e6234d c
11 --- a/c Thu Jan 01 00:00:00 1970 +0000
11 --- a/c Thu Jan 01 00:00:00 1970 +0000
12 +++ b/c Thu Jan 01 00:00:00 1970 +0000
12 +++ b/c Thu Jan 01 00:00:00 1970 +0000
13 @@ -1,1 +1,2 @@
13 @@ -1,1 +1,2 @@
14 b
14 b
15 +c
15 +c
16
16
17 changeset: 5:a3b6a9e4507e
17 changeset: 5:a3b6a9e4507e
18 user: test
18 user: test
19 date: Thu Jan 01 00:00:00 1970 +0000
19 date: Thu Jan 01 00:00:00 1970 +0000
20 summary: mv b
20 summary: mv b
21
21
22 diff -r 52e848cdcd88 -r a3b6a9e4507e b
22 diff -r 52e848cdcd88 -r a3b6a9e4507e b
23 --- a/b Thu Jan 01 00:00:00 1970 +0000
23 --- a/b Thu Jan 01 00:00:00 1970 +0000
24 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
24 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
25 @@ -1,1 +0,0 @@
25 @@ -1,1 +0,0 @@
26 -b
26 -b
27 diff -r 52e848cdcd88 -r a3b6a9e4507e c
27 diff -r 52e848cdcd88 -r a3b6a9e4507e c
28 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
28 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
29 +++ b/c Thu Jan 01 00:00:00 1970 +0000
29 +++ b/c Thu Jan 01 00:00:00 1970 +0000
30 @@ -0,0 +1,1 @@
30 @@ -0,0 +1,1 @@
31 +b
31 +b
32
32
33 changeset: 4:52e848cdcd88
33 changeset: 4:52e848cdcd88
34 user: test
34 user: test
35 date: Thu Jan 01 00:00:00 1970 +0000
35 date: Thu Jan 01 00:00:00 1970 +0000
36 summary: del2 a
36 summary: del2 a
37
37
38 diff -r 01de2d66a28d -r 52e848cdcd88 a
38 diff -r 01de2d66a28d -r 52e848cdcd88 a
39 --- a/a Thu Jan 01 00:00:00 1970 +0000
39 --- a/a Thu Jan 01 00:00:00 1970 +0000
40 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
40 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
41 @@ -1,1 +0,0 @@
41 @@ -1,1 +0,0 @@
42 -b
42 -b
43
43
44 changeset: 3:01de2d66a28d
44 changeset: 3:01de2d66a28d
45 user: test
45 user: test
46 date: Thu Jan 01 00:00:00 1970 +0000
46 date: Thu Jan 01 00:00:00 1970 +0000
47 summary: second a
47 summary: second a
48
48
49 diff -r be3ebcc91739 -r 01de2d66a28d a
49 diff -r be3ebcc91739 -r 01de2d66a28d a
50 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
50 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
51 +++ b/a Thu Jan 01 00:00:00 1970 +0000
51 +++ b/a Thu Jan 01 00:00:00 1970 +0000
52 @@ -0,0 +1,1 @@
52 @@ -0,0 +1,1 @@
53 +b
53 +b
54
54
55 changeset: 2:be3ebcc91739
55 changeset: 2:be3ebcc91739
56 user: test
56 user: test
57 date: Thu Jan 01 00:00:00 1970 +0000
57 date: Thu Jan 01 00:00:00 1970 +0000
58 summary: del a
58 summary: del a
59
59
60 diff -r 5ed941583260 -r be3ebcc91739 a
60 diff -r 5ed941583260 -r be3ebcc91739 a
61 --- a/a Thu Jan 01 00:00:00 1970 +0000
61 --- a/a Thu Jan 01 00:00:00 1970 +0000
62 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
62 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
63 @@ -1,1 +0,0 @@
63 @@ -1,1 +0,0 @@
64 -a
64 -a
65
65
66 changeset: 1:5ed941583260
66 changeset: 1:5ed941583260
67 user: test
67 user: test
68 date: Thu Jan 01 00:00:00 1970 +0000
68 date: Thu Jan 01 00:00:00 1970 +0000
69 summary: first a
69 summary: first a
70
70
71 diff -r 6563da9dcf87 -r 5ed941583260 a
71 diff -r 6563da9dcf87 -r 5ed941583260 a
72 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
72 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
73 +++ b/a Thu Jan 01 00:00:00 1970 +0000
73 +++ b/a Thu Jan 01 00:00:00 1970 +0000
74 @@ -0,0 +1,1 @@
74 @@ -0,0 +1,1 @@
75 +a
75 +a
76
76
77 changeset: 0:6563da9dcf87
77 changeset: 0:6563da9dcf87
78 user: test
78 user: test
79 date: Thu Jan 01 00:00:00 1970 +0000
79 date: Thu Jan 01 00:00:00 1970 +0000
80 summary: b
80 summary: b
81
81
82 diff -r 000000000000 -r 6563da9dcf87 b
82 diff -r 000000000000 -r 6563da9dcf87 b
83 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
83 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
84 +++ b/b Thu Jan 01 00:00:00 1970 +0000
84 +++ b/b Thu Jan 01 00:00:00 1970 +0000
85 @@ -0,0 +1,1 @@
85 @@ -0,0 +1,1 @@
86 +b
86 +b
87
87
88 % tip - two revisions
88 % tip - two revisions
89 200 Script output follows
89 200 Script output follows
90
90
91 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
91 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
92 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
92 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
93 <head>
93 <head>
94 <link rel="icon" href="/static/hgicon.png" type="image/png" />
94 <link rel="icon" href="/static/hgicon.png" type="image/png" />
95 <meta name="robots" content="index, nofollow" />
95 <meta name="robots" content="index, nofollow" />
96 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
96 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
97
97
98 <title>test: a history</title>
98 <title>test: a history</title>
99 <link rel="alternate" type="application/atom+xml"
99 <link rel="alternate" type="application/atom+xml"
100 href="/atom-log/tip/a" title="Atom feed for test:a" />
100 href="/atom-log/tip/a" title="Atom feed for test:a" />
101 <link rel="alternate" type="application/rss+xml"
101 <link rel="alternate" type="application/rss+xml"
102 href="/rss-log/tip/a" title="RSS feed for test:a" />
102 href="/rss-log/tip/a" title="RSS feed for test:a" />
103 </head>
103 </head>
104 <body>
104 <body>
105
105
106 <div class="container">
106 <div class="container">
107 <div class="menu">
107 <div class="menu">
108 <div class="logo">
108 <div class="logo">
109 <a href="http://www.selenic.com/mercurial/">
109 <a href="http://www.selenic.com/mercurial/">
110 <img src="/static/hglogo.png" alt="mercurial" /></a>
110 <img src="/static/hglogo.png" alt="mercurial" /></a>
111 </div>
111 </div>
112 <ul>
112 <ul>
113 <li><a href="/shortlog/01de2d66a28d">log</a></li>
113 <li><a href="/shortlog/01de2d66a28d">log</a></li>
114 <li><a href="/graph/01de2d66a28d">graph</a></li>
114 <li><a href="/graph/01de2d66a28d">graph</a></li>
115 <li><a href="/tags">tags</a></li>
115 <li><a href="/tags">tags</a></li>
116 <li><a href="/branches">branches</a></li>
116 </ul>
117 </ul>
117 <ul>
118 <ul>
118 <li><a href="/rev/01de2d66a28d">changeset</a></li>
119 <li><a href="/rev/01de2d66a28d">changeset</a></li>
119 <li><a href="/file/01de2d66a28d">browse</a></li>
120 <li><a href="/file/01de2d66a28d">browse</a></li>
120 </ul>
121 </ul>
121 <ul>
122 <ul>
122 <li><a href="/file/01de2d66a28d/a">file</a></li>
123 <li><a href="/file/01de2d66a28d/a">file</a></li>
123 <li><a href="/diff/01de2d66a28d/a">diff</a></li>
124 <li><a href="/diff/01de2d66a28d/a">diff</a></li>
124 <li><a href="/annotate/01de2d66a28d/a">annotate</a></li>
125 <li><a href="/annotate/01de2d66a28d/a">annotate</a></li>
125 <li class="active">file log</li>
126 <li class="active">file log</li>
126 <li><a href="/raw-file/01de2d66a28d/a">raw</a></li>
127 <li><a href="/raw-file/01de2d66a28d/a">raw</a></li>
127 </ul>
128 </ul>
128 </div>
129 </div>
129
130
130 <div class="main">
131 <div class="main">
131 <h2><a href="/">test</a></h2>
132 <h2><a href="/">test</a></h2>
132 <h3>log a</h3>
133 <h3>log a</h3>
133
134
134 <form class="search" action="/log">
135 <form class="search" action="/log">
135
136
136 <p><input name="rev" id="search1" type="text" size="30" /></p>
137 <p><input name="rev" id="search1" type="text" size="30" /></p>
137 <div id="hint">find changesets by author, revision,
138 <div id="hint">find changesets by author, revision,
138 files, or words in the commit message</div>
139 files, or words in the commit message</div>
139 </form>
140 </form>
140
141
141 <div class="navigate"><a href="/log/5ed941583260/a">(0)</a> <a href="/log/tip/a">tip</a> </div>
142 <div class="navigate"><a href="/log/5ed941583260/a">(0)</a> <a href="/log/tip/a">tip</a> </div>
142
143
143 <table class="bigtable">
144 <table class="bigtable">
144 <tr>
145 <tr>
145 <th class="age">age</th>
146 <th class="age">age</th>
146 <th class="author">author</th>
147 <th class="author">author</th>
147 <th class="description">description</th>
148 <th class="description">description</th>
148 </tr>
149 </tr>
149 <tr class="parity0">
150 <tr class="parity0">
150 <td class="age">many years</td>
151 <td class="age">many years</td>
151 <td class="author">test</td>
152 <td class="author">test</td>
152 <td class="description"><a href="/rev/01de2d66a28d">second a</a></td>
153 <td class="description"><a href="/rev/01de2d66a28d">second a</a></td>
153 </tr>
154 </tr>
154 <tr class="parity1">
155 <tr class="parity1">
155 <td class="age">many years</td>
156 <td class="age">many years</td>
156 <td class="author">test</td>
157 <td class="author">test</td>
157 <td class="description"><a href="/rev/5ed941583260">first a</a></td>
158 <td class="description"><a href="/rev/5ed941583260">first a</a></td>
158 </tr>
159 </tr>
159
160
160 </table>
161 </table>
161
162
162 </div>
163 </div>
163 </div>
164 </div>
164
165
165
166
166
167
167 </body>
168 </body>
168 </html>
169 </html>
169
170
170 % second version - two revisions
171 % second version - two revisions
171 200 Script output follows
172 200 Script output follows
172
173
173 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
174 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
174 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
175 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
175 <head>
176 <head>
176 <link rel="icon" href="/static/hgicon.png" type="image/png" />
177 <link rel="icon" href="/static/hgicon.png" type="image/png" />
177 <meta name="robots" content="index, nofollow" />
178 <meta name="robots" content="index, nofollow" />
178 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
179 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
179
180
180 <title>test: a history</title>
181 <title>test: a history</title>
181 <link rel="alternate" type="application/atom+xml"
182 <link rel="alternate" type="application/atom+xml"
182 href="/atom-log/tip/a" title="Atom feed for test:a" />
183 href="/atom-log/tip/a" title="Atom feed for test:a" />
183 <link rel="alternate" type="application/rss+xml"
184 <link rel="alternate" type="application/rss+xml"
184 href="/rss-log/tip/a" title="RSS feed for test:a" />
185 href="/rss-log/tip/a" title="RSS feed for test:a" />
185 </head>
186 </head>
186 <body>
187 <body>
187
188
188 <div class="container">
189 <div class="container">
189 <div class="menu">
190 <div class="menu">
190 <div class="logo">
191 <div class="logo">
191 <a href="http://www.selenic.com/mercurial/">
192 <a href="http://www.selenic.com/mercurial/">
192 <img src="/static/hglogo.png" alt="mercurial" /></a>
193 <img src="/static/hglogo.png" alt="mercurial" /></a>
193 </div>
194 </div>
194 <ul>
195 <ul>
195 <li><a href="/shortlog/01de2d66a28d">log</a></li>
196 <li><a href="/shortlog/01de2d66a28d">log</a></li>
196 <li><a href="/graph/01de2d66a28d">graph</a></li>
197 <li><a href="/graph/01de2d66a28d">graph</a></li>
197 <li><a href="/tags">tags</a></li>
198 <li><a href="/tags">tags</a></li>
199 <li><a href="/branches">branches</a></li>
198 </ul>
200 </ul>
199 <ul>
201 <ul>
200 <li><a href="/rev/01de2d66a28d">changeset</a></li>
202 <li><a href="/rev/01de2d66a28d">changeset</a></li>
201 <li><a href="/file/01de2d66a28d">browse</a></li>
203 <li><a href="/file/01de2d66a28d">browse</a></li>
202 </ul>
204 </ul>
203 <ul>
205 <ul>
204 <li><a href="/file/01de2d66a28d/a">file</a></li>
206 <li><a href="/file/01de2d66a28d/a">file</a></li>
205 <li><a href="/diff/01de2d66a28d/a">diff</a></li>
207 <li><a href="/diff/01de2d66a28d/a">diff</a></li>
206 <li><a href="/annotate/01de2d66a28d/a">annotate</a></li>
208 <li><a href="/annotate/01de2d66a28d/a">annotate</a></li>
207 <li class="active">file log</li>
209 <li class="active">file log</li>
208 <li><a href="/raw-file/01de2d66a28d/a">raw</a></li>
210 <li><a href="/raw-file/01de2d66a28d/a">raw</a></li>
209 </ul>
211 </ul>
210 </div>
212 </div>
211
213
212 <div class="main">
214 <div class="main">
213 <h2><a href="/">test</a></h2>
215 <h2><a href="/">test</a></h2>
214 <h3>log a</h3>
216 <h3>log a</h3>
215
217
216 <form class="search" action="/log">
218 <form class="search" action="/log">
217
219
218 <p><input name="rev" id="search1" type="text" size="30" /></p>
220 <p><input name="rev" id="search1" type="text" size="30" /></p>
219 <div id="hint">find changesets by author, revision,
221 <div id="hint">find changesets by author, revision,
220 files, or words in the commit message</div>
222 files, or words in the commit message</div>
221 </form>
223 </form>
222
224
223 <div class="navigate"><a href="/log/5ed941583260/a">(0)</a> <a href="/log/tip/a">tip</a> </div>
225 <div class="navigate"><a href="/log/5ed941583260/a">(0)</a> <a href="/log/tip/a">tip</a> </div>
224
226
225 <table class="bigtable">
227 <table class="bigtable">
226 <tr>
228 <tr>
227 <th class="age">age</th>
229 <th class="age">age</th>
228 <th class="author">author</th>
230 <th class="author">author</th>
229 <th class="description">description</th>
231 <th class="description">description</th>
230 </tr>
232 </tr>
231 <tr class="parity0">
233 <tr class="parity0">
232 <td class="age">many years</td>
234 <td class="age">many years</td>
233 <td class="author">test</td>
235 <td class="author">test</td>
234 <td class="description"><a href="/rev/01de2d66a28d">second a</a></td>
236 <td class="description"><a href="/rev/01de2d66a28d">second a</a></td>
235 </tr>
237 </tr>
236 <tr class="parity1">
238 <tr class="parity1">
237 <td class="age">many years</td>
239 <td class="age">many years</td>
238 <td class="author">test</td>
240 <td class="author">test</td>
239 <td class="description"><a href="/rev/5ed941583260">first a</a></td>
241 <td class="description"><a href="/rev/5ed941583260">first a</a></td>
240 </tr>
242 </tr>
241
243
242 </table>
244 </table>
243
245
244 </div>
246 </div>
245 </div>
247 </div>
246
248
247
249
248
250
249 </body>
251 </body>
250 </html>
252 </html>
251
253
252 % first deleted - one revision
254 % first deleted - one revision
253 200 Script output follows
255 200 Script output follows
254
256
255 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
257 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
256 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
258 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
257 <head>
259 <head>
258 <link rel="icon" href="/static/hgicon.png" type="image/png" />
260 <link rel="icon" href="/static/hgicon.png" type="image/png" />
259 <meta name="robots" content="index, nofollow" />
261 <meta name="robots" content="index, nofollow" />
260 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
262 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
261
263
262 <title>test: a history</title>
264 <title>test: a history</title>
263 <link rel="alternate" type="application/atom+xml"
265 <link rel="alternate" type="application/atom+xml"
264 href="/atom-log/tip/a" title="Atom feed for test:a" />
266 href="/atom-log/tip/a" title="Atom feed for test:a" />
265 <link rel="alternate" type="application/rss+xml"
267 <link rel="alternate" type="application/rss+xml"
266 href="/rss-log/tip/a" title="RSS feed for test:a" />
268 href="/rss-log/tip/a" title="RSS feed for test:a" />
267 </head>
269 </head>
268 <body>
270 <body>
269
271
270 <div class="container">
272 <div class="container">
271 <div class="menu">
273 <div class="menu">
272 <div class="logo">
274 <div class="logo">
273 <a href="http://www.selenic.com/mercurial/">
275 <a href="http://www.selenic.com/mercurial/">
274 <img src="/static/hglogo.png" alt="mercurial" /></a>
276 <img src="/static/hglogo.png" alt="mercurial" /></a>
275 </div>
277 </div>
276 <ul>
278 <ul>
277 <li><a href="/shortlog/5ed941583260">log</a></li>
279 <li><a href="/shortlog/5ed941583260">log</a></li>
278 <li><a href="/graph/5ed941583260">graph</a></li>
280 <li><a href="/graph/5ed941583260">graph</a></li>
279 <li><a href="/tags">tags</a></li>
281 <li><a href="/tags">tags</a></li>
282 <li><a href="/branches">branches</a></li>
280 </ul>
283 </ul>
281 <ul>
284 <ul>
282 <li><a href="/rev/5ed941583260">changeset</a></li>
285 <li><a href="/rev/5ed941583260">changeset</a></li>
283 <li><a href="/file/5ed941583260">browse</a></li>
286 <li><a href="/file/5ed941583260">browse</a></li>
284 </ul>
287 </ul>
285 <ul>
288 <ul>
286 <li><a href="/file/5ed941583260/a">file</a></li>
289 <li><a href="/file/5ed941583260/a">file</a></li>
287 <li><a href="/diff/5ed941583260/a">diff</a></li>
290 <li><a href="/diff/5ed941583260/a">diff</a></li>
288 <li><a href="/annotate/5ed941583260/a">annotate</a></li>
291 <li><a href="/annotate/5ed941583260/a">annotate</a></li>
289 <li class="active">file log</li>
292 <li class="active">file log</li>
290 <li><a href="/raw-file/5ed941583260/a">raw</a></li>
293 <li><a href="/raw-file/5ed941583260/a">raw</a></li>
291 </ul>
294 </ul>
292 </div>
295 </div>
293
296
294 <div class="main">
297 <div class="main">
295 <h2><a href="/">test</a></h2>
298 <h2><a href="/">test</a></h2>
296 <h3>log a</h3>
299 <h3>log a</h3>
297
300
298 <form class="search" action="/log">
301 <form class="search" action="/log">
299
302
300 <p><input name="rev" id="search1" type="text" size="30" /></p>
303 <p><input name="rev" id="search1" type="text" size="30" /></p>
301 <div id="hint">find changesets by author, revision,
304 <div id="hint">find changesets by author, revision,
302 files, or words in the commit message</div>
305 files, or words in the commit message</div>
303 </form>
306 </form>
304
307
305 <div class="navigate"><a href="/log/5ed941583260/a">(0)</a> <a href="/log/tip/a">tip</a> </div>
308 <div class="navigate"><a href="/log/5ed941583260/a">(0)</a> <a href="/log/tip/a">tip</a> </div>
306
309
307 <table class="bigtable">
310 <table class="bigtable">
308 <tr>
311 <tr>
309 <th class="age">age</th>
312 <th class="age">age</th>
310 <th class="author">author</th>
313 <th class="author">author</th>
311 <th class="description">description</th>
314 <th class="description">description</th>
312 </tr>
315 </tr>
313 <tr class="parity0">
316 <tr class="parity0">
314 <td class="age">many years</td>
317 <td class="age">many years</td>
315 <td class="author">test</td>
318 <td class="author">test</td>
316 <td class="description"><a href="/rev/5ed941583260">first a</a></td>
319 <td class="description"><a href="/rev/5ed941583260">first a</a></td>
317 </tr>
320 </tr>
318
321
319 </table>
322 </table>
320
323
321 </div>
324 </div>
322 </div>
325 </div>
323
326
324
327
325
328
326 </body>
329 </body>
327 </html>
330 </html>
328
331
329 % first version - one revision
332 % first version - one revision
330 200 Script output follows
333 200 Script output follows
331
334
332 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
335 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
333 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
336 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
334 <head>
337 <head>
335 <link rel="icon" href="/static/hgicon.png" type="image/png" />
338 <link rel="icon" href="/static/hgicon.png" type="image/png" />
336 <meta name="robots" content="index, nofollow" />
339 <meta name="robots" content="index, nofollow" />
337 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
340 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
338
341
339 <title>test: a history</title>
342 <title>test: a history</title>
340 <link rel="alternate" type="application/atom+xml"
343 <link rel="alternate" type="application/atom+xml"
341 href="/atom-log/tip/a" title="Atom feed for test:a" />
344 href="/atom-log/tip/a" title="Atom feed for test:a" />
342 <link rel="alternate" type="application/rss+xml"
345 <link rel="alternate" type="application/rss+xml"
343 href="/rss-log/tip/a" title="RSS feed for test:a" />
346 href="/rss-log/tip/a" title="RSS feed for test:a" />
344 </head>
347 </head>
345 <body>
348 <body>
346
349
347 <div class="container">
350 <div class="container">
348 <div class="menu">
351 <div class="menu">
349 <div class="logo">
352 <div class="logo">
350 <a href="http://www.selenic.com/mercurial/">
353 <a href="http://www.selenic.com/mercurial/">
351 <img src="/static/hglogo.png" alt="mercurial" /></a>
354 <img src="/static/hglogo.png" alt="mercurial" /></a>
352 </div>
355 </div>
353 <ul>
356 <ul>
354 <li><a href="/shortlog/5ed941583260">log</a></li>
357 <li><a href="/shortlog/5ed941583260">log</a></li>
355 <li><a href="/graph/5ed941583260">graph</a></li>
358 <li><a href="/graph/5ed941583260">graph</a></li>
356 <li><a href="/tags">tags</a></li>
359 <li><a href="/tags">tags</a></li>
360 <li><a href="/branches">branches</a></li>
357 </ul>
361 </ul>
358 <ul>
362 <ul>
359 <li><a href="/rev/5ed941583260">changeset</a></li>
363 <li><a href="/rev/5ed941583260">changeset</a></li>
360 <li><a href="/file/5ed941583260">browse</a></li>
364 <li><a href="/file/5ed941583260">browse</a></li>
361 </ul>
365 </ul>
362 <ul>
366 <ul>
363 <li><a href="/file/5ed941583260/a">file</a></li>
367 <li><a href="/file/5ed941583260/a">file</a></li>
364 <li><a href="/diff/5ed941583260/a">diff</a></li>
368 <li><a href="/diff/5ed941583260/a">diff</a></li>
365 <li><a href="/annotate/5ed941583260/a">annotate</a></li>
369 <li><a href="/annotate/5ed941583260/a">annotate</a></li>
366 <li class="active">file log</li>
370 <li class="active">file log</li>
367 <li><a href="/raw-file/5ed941583260/a">raw</a></li>
371 <li><a href="/raw-file/5ed941583260/a">raw</a></li>
368 </ul>
372 </ul>
369 </div>
373 </div>
370
374
371 <div class="main">
375 <div class="main">
372 <h2><a href="/">test</a></h2>
376 <h2><a href="/">test</a></h2>
373 <h3>log a</h3>
377 <h3>log a</h3>
374
378
375 <form class="search" action="/log">
379 <form class="search" action="/log">
376
380
377 <p><input name="rev" id="search1" type="text" size="30" /></p>
381 <p><input name="rev" id="search1" type="text" size="30" /></p>
378 <div id="hint">find changesets by author, revision,
382 <div id="hint">find changesets by author, revision,
379 files, or words in the commit message</div>
383 files, or words in the commit message</div>
380 </form>
384 </form>
381
385
382 <div class="navigate"><a href="/log/5ed941583260/a">(0)</a> <a href="/log/tip/a">tip</a> </div>
386 <div class="navigate"><a href="/log/5ed941583260/a">(0)</a> <a href="/log/tip/a">tip</a> </div>
383
387
384 <table class="bigtable">
388 <table class="bigtable">
385 <tr>
389 <tr>
386 <th class="age">age</th>
390 <th class="age">age</th>
387 <th class="author">author</th>
391 <th class="author">author</th>
388 <th class="description">description</th>
392 <th class="description">description</th>
389 </tr>
393 </tr>
390 <tr class="parity0">
394 <tr class="parity0">
391 <td class="age">many years</td>
395 <td class="age">many years</td>
392 <td class="author">test</td>
396 <td class="author">test</td>
393 <td class="description"><a href="/rev/5ed941583260">first a</a></td>
397 <td class="description"><a href="/rev/5ed941583260">first a</a></td>
394 </tr>
398 </tr>
395
399
396 </table>
400 </table>
397
401
398 </div>
402 </div>
399 </div>
403 </div>
400
404
401
405
402
406
403 </body>
407 </body>
404 </html>
408 </html>
405
409
406 % before addition - error
410 % before addition - error
407 404 Not Found
411 404 Not Found
408
412
409 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
413 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
410 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
414 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
411 <head>
415 <head>
412 <link rel="icon" href="/static/hgicon.png" type="image/png" />
416 <link rel="icon" href="/static/hgicon.png" type="image/png" />
413 <meta name="robots" content="index, nofollow" />
417 <meta name="robots" content="index, nofollow" />
414 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
418 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
415
419
416 <title>test: error</title>
420 <title>test: error</title>
417 </head>
421 </head>
418 <body>
422 <body>
419
423
420 <div class="container">
424 <div class="container">
421 <div class="menu">
425 <div class="menu">
422 <div class="logo">
426 <div class="logo">
423 <a href="http://www.selenic.com/mercurial/">
427 <a href="http://www.selenic.com/mercurial/">
424 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
428 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
425 </div>
429 </div>
426 <ul>
430 <ul>
427 <li><a href="/shortlog">log</a></li>
431 <li><a href="/shortlog">log</a></li>
428 <li><a href="/graph">graph</a></li>
432 <li><a href="/graph">graph</a></li>
429 <li><a href="/tags">tags</a></li>
433 <li><a href="/tags">tags</a></li>
434 <li><a href="/branches">branches</a></li>
430 </ul>
435 </ul>
431 </div>
436 </div>
432
437
433 <div class="main">
438 <div class="main">
434
439
435 <h2><a href="/">test</a></h2>
440 <h2><a href="/">test</a></h2>
436 <h3>error</h3>
441 <h3>error</h3>
437
442
438 <form class="search" action="/log">
443 <form class="search" action="/log">
439
444
440 <p><input name="rev" id="search1" type="text" size="30"></p>
445 <p><input name="rev" id="search1" type="text" size="30"></p>
441 <div id="hint">find changesets by author, revision,
446 <div id="hint">find changesets by author, revision,
442 files, or words in the commit message</div>
447 files, or words in the commit message</div>
443 </form>
448 </form>
444
449
445 <div class="description">
450 <div class="description">
446 <p>
451 <p>
447 An error occurred while processing your request:
452 An error occurred while processing your request:
448 </p>
453 </p>
449 <p>
454 <p>
450 a@6563da9dcf87: not found in manifest
455 a@6563da9dcf87: not found in manifest
451 </p>
456 </p>
452 </div>
457 </div>
453 </div>
458 </div>
454 </div>
459 </div>
455
460
456
461
457
462
458 </body>
463 </body>
459 </html>
464 </html>
460
465
461 % should show base link, use spartan because it shows it
466 % should show base link, use spartan because it shows it
462 200 Script output follows
467 200 Script output follows
463
468
464 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
469 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
465 <html>
470 <html>
466 <head>
471 <head>
467 <link rel="icon" href="/static/hgicon.png" type="image/png">
472 <link rel="icon" href="/static/hgicon.png" type="image/png">
468 <meta name="robots" content="index, nofollow" />
473 <meta name="robots" content="index, nofollow" />
469 <link rel="stylesheet" href="/static/style.css" type="text/css" />
474 <link rel="stylesheet" href="/static/style.css" type="text/css" />
470
475
471 <title>test: c history</title>
476 <title>test: c history</title>
472 <link rel="alternate" type="application/atom+xml"
477 <link rel="alternate" type="application/atom+xml"
473 href="/atom-log/tip/c" title="Atom feed for test:c">
478 href="/atom-log/tip/c" title="Atom feed for test:c">
474 <link rel="alternate" type="application/rss+xml"
479 <link rel="alternate" type="application/rss+xml"
475 href="/rss-log/tip/c" title="RSS feed for test:c">
480 href="/rss-log/tip/c" title="RSS feed for test:c">
476 </head>
481 </head>
477 <body>
482 <body>
478
483
479 <div class="buttons">
484 <div class="buttons">
480 <a href="/log?style=spartan">changelog</a>
485 <a href="/log?style=spartan">changelog</a>
481 <a href="/shortlog?style=spartan">shortlog</a>
486 <a href="/shortlog?style=spartan">shortlog</a>
482 <a href="/graph?style=spartan">graph</a>
487 <a href="/graph?style=spartan">graph</a>
483 <a href="/tags?style=spartan">tags</a>
488 <a href="/tags?style=spartan">tags</a>
484 <a href="/file/38d962e6234d/c?style=spartan">file</a>
489 <a href="/file/38d962e6234d/c?style=spartan">file</a>
485 <a href="/annotate/38d962e6234d/c?style=spartan">annotate</a>
490 <a href="/annotate/38d962e6234d/c?style=spartan">annotate</a>
486 <a type="application/rss+xml" href="/rss-log/tip/c">rss</a>
491 <a type="application/rss+xml" href="/rss-log/tip/c">rss</a>
487 <a type="application/atom+xml" href="/atom-log/tip/c" title="Atom feed for test:c">atom</a>
492 <a type="application/atom+xml" href="/atom-log/tip/c" title="Atom feed for test:c">atom</a>
488 </div>
493 </div>
489
494
490 <h2>c revision history</h2>
495 <h2>c revision history</h2>
491
496
492 <p>navigate: <small class="navigate"><a href="/log/a3b6a9e4507e/c?style=spartan">(0)</a> <a href="/log/tip/c?style=spartan">tip</a> </small></p>
497 <p>navigate: <small class="navigate"><a href="/log/a3b6a9e4507e/c?style=spartan">(0)</a> <a href="/log/tip/c?style=spartan">tip</a> </small></p>
493
498
494 <table class="logEntry parity0">
499 <table class="logEntry parity0">
495 <tr>
500 <tr>
496 <th class="age">many years ago:</th>
501 <th class="age">many years ago:</th>
497 <th class="firstline"><a href="/rev/38d962e6234d?style=spartan">change c</a></th>
502 <th class="firstline"><a href="/rev/38d962e6234d?style=spartan">change c</a></th>
498 </tr>
503 </tr>
499 <tr>
504 <tr>
500 <th class="revision">revision 1:</td>
505 <th class="revision">revision 1:</td>
501 <td class="node">
506 <td class="node">
502 <a href="/file/38d962e6234d/c?style=spartan">38d962e6234d</a>
507 <a href="/file/38d962e6234d/c?style=spartan">38d962e6234d</a>
503 <a href="/diff/38d962e6234d/c?style=spartan">(diff)</a>
508 <a href="/diff/38d962e6234d/c?style=spartan">(diff)</a>
504 <a href="/annotate/38d962e6234d/c?style=spartan">(annotate)</a>
509 <a href="/annotate/38d962e6234d/c?style=spartan">(annotate)</a>
505 </td>
510 </td>
506 </tr>
511 </tr>
507
512
508 <tr>
513 <tr>
509 <th class="author">author:</th>
514 <th class="author">author:</th>
510 <td class="author">&#116;&#101;&#115;&#116;</td>
515 <td class="author">&#116;&#101;&#115;&#116;</td>
511 </tr>
516 </tr>
512 <tr>
517 <tr>
513 <th class="date">date:</th>
518 <th class="date">date:</th>
514 <td class="date">Thu Jan 01 00:00:00 1970 +0000</td>
519 <td class="date">Thu Jan 01 00:00:00 1970 +0000</td>
515 </tr>
520 </tr>
516 </table>
521 </table>
517
522
518
523
519 <table class="logEntry parity1">
524 <table class="logEntry parity1">
520 <tr>
525 <tr>
521 <th class="age">many years ago:</th>
526 <th class="age">many years ago:</th>
522 <th class="firstline"><a href="/rev/a3b6a9e4507e?style=spartan">mv b</a></th>
527 <th class="firstline"><a href="/rev/a3b6a9e4507e?style=spartan">mv b</a></th>
523 </tr>
528 </tr>
524 <tr>
529 <tr>
525 <th class="revision">revision 0:</td>
530 <th class="revision">revision 0:</td>
526 <td class="node">
531 <td class="node">
527 <a href="/file/a3b6a9e4507e/c?style=spartan">a3b6a9e4507e</a>
532 <a href="/file/a3b6a9e4507e/c?style=spartan">a3b6a9e4507e</a>
528 <a href="/diff/a3b6a9e4507e/c?style=spartan">(diff)</a>
533 <a href="/diff/a3b6a9e4507e/c?style=spartan">(diff)</a>
529 <a href="/annotate/a3b6a9e4507e/c?style=spartan">(annotate)</a>
534 <a href="/annotate/a3b6a9e4507e/c?style=spartan">(annotate)</a>
530 </td>
535 </td>
531 </tr>
536 </tr>
532 <tr><th>base:</th><td><a href="/file/1e88685f5dde/b?style=spartan">b@1e88685f5dde</a></td></tr>
537 <tr><th>base:</th><td><a href="/file/1e88685f5dde/b?style=spartan">b@1e88685f5dde</a></td></tr>
533 <tr>
538 <tr>
534 <th class="author">author:</th>
539 <th class="author">author:</th>
535 <td class="author">&#116;&#101;&#115;&#116;</td>
540 <td class="author">&#116;&#101;&#115;&#116;</td>
536 </tr>
541 </tr>
537 <tr>
542 <tr>
538 <th class="date">date:</th>
543 <th class="date">date:</th>
539 <td class="date">Thu Jan 01 00:00:00 1970 +0000</td>
544 <td class="date">Thu Jan 01 00:00:00 1970 +0000</td>
540 </tr>
545 </tr>
541 </table>
546 </table>
542
547
543
548
544
549
545
550
546
551
547 <div class="logo">
552 <div class="logo">
548 <a href="http://www.selenic.com/mercurial/">
553 <a href="http://www.selenic.com/mercurial/">
549 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial"></a>
554 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial"></a>
550 </div>
555 </div>
551
556
552 </body>
557 </body>
553 </html>
558 </html>
554
559
555 % errors
560 % errors
@@ -1,178 +1,180 b''
1 % setting up repo
1 % setting up repo
2 adding a
2 adding a
3 % set up hgweb
3 % set up hgweb
4 % revision
4 % revision
5 200 Script output follows
5 200 Script output follows
6
6
7 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
7 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
8 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
8 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
9 <head>
9 <head>
10 <link rel="icon" href="/static/hgicon.png" type="image/png" />
10 <link rel="icon" href="/static/hgicon.png" type="image/png" />
11 <meta name="robots" content="index, nofollow" />
11 <meta name="robots" content="index, nofollow" />
12 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
12 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
13
13
14 <title>test: c78f6c5cbea9</title>
14 <title>test: c78f6c5cbea9</title>
15 </head>
15 </head>
16 <body>
16 <body>
17 <div class="container">
17 <div class="container">
18 <div class="menu">
18 <div class="menu">
19 <div class="logo">
19 <div class="logo">
20 <a href="http://www.selenic.com/mercurial/">
20 <a href="http://www.selenic.com/mercurial/">
21 <img src="/static/hglogo.png" alt="mercurial" /></a>
21 <img src="/static/hglogo.png" alt="mercurial" /></a>
22 </div>
22 </div>
23 <ul>
23 <ul>
24 <li><a href="/shortlog/c78f6c5cbea9">log</a></li>
24 <li><a href="/shortlog/c78f6c5cbea9">log</a></li>
25 <li><a href="/graph/c78f6c5cbea9">graph</a></li>
25 <li><a href="/graph/c78f6c5cbea9">graph</a></li>
26 <li><a href="/tags">tags</a></li>
26 <li><a href="/tags">tags</a></li>
27 <li><a href="/branches">branches</a></li>
27 </ul>
28 </ul>
28 <ul>
29 <ul>
29 <li class="active">changeset</li>
30 <li class="active">changeset</li>
30 <li><a href="/raw-rev/c78f6c5cbea9">raw</a></li>
31 <li><a href="/raw-rev/c78f6c5cbea9">raw</a></li>
31 <li><a href="/file/c78f6c5cbea9">browse</a></li>
32 <li><a href="/file/c78f6c5cbea9">browse</a></li>
32 </ul>
33 </ul>
33 <ul>
34 <ul>
34
35
35 </ul>
36 </ul>
36 </div>
37 </div>
37
38
38 <div class="main">
39 <div class="main">
39
40
40 <h2><a href="/">test</a></h2>
41 <h2><a href="/">test</a></h2>
41 <h3>changeset 1:c78f6c5cbea9 <span class="tag">tip</span> </h3>
42 <h3>changeset 1:c78f6c5cbea9 <span class="tag">tip</span> </h3>
42
43
43 <form class="search" action="/log">
44 <form class="search" action="/log">
44
45
45 <p><input name="rev" id="search1" type="text" size="30" /></p>
46 <p><input name="rev" id="search1" type="text" size="30" /></p>
46 <div id="hint">find changesets by author, revision,
47 <div id="hint">find changesets by author, revision,
47 files, or words in the commit message</div>
48 files, or words in the commit message</div>
48 </form>
49 </form>
49
50
50 <div class="description">del</div>
51 <div class="description">del</div>
51
52
52 <table id="changesetEntry">
53 <table id="changesetEntry">
53 <tr>
54 <tr>
54 <th class="author">author</th>
55 <th class="author">author</th>
55 <td class="author">&#116;&#101;&#115;&#116;</td>
56 <td class="author">&#116;&#101;&#115;&#116;</td>
56 </tr>
57 </tr>
57 <tr>
58 <tr>
58 <th class="date">date</th>
59 <th class="date">date</th>
59 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td></tr>
60 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td></tr>
60 <tr>
61 <tr>
61 <th class="author">parents</th>
62 <th class="author">parents</th>
62 <td class="author"><a href="/rev/cb9a9f314b8b">cb9a9f314b8b</a> </td>
63 <td class="author"><a href="/rev/cb9a9f314b8b">cb9a9f314b8b</a> </td>
63 </tr>
64 </tr>
64 <tr>
65 <tr>
65 <th class="author">children</th>
66 <th class="author">children</th>
66 <td class="author"></td>
67 <td class="author"></td>
67 </tr>
68 </tr>
68 <tr>
69 <tr>
69 <th class="files">files</th>
70 <th class="files">files</th>
70 <td class="files">a </td>
71 <td class="files">a </td>
71 </tr>
72 </tr>
72 </table>
73 </table>
73
74
74 <div class="overflow">
75 <div class="overflow">
75 <div class="sourcefirst"> line diff</div>
76 <div class="sourcefirst"> line diff</div>
76
77
77 <div class="source bottomline parity0"><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- a/a Thu Jan 01 00:00:00 1970 +0000
78 <div class="source bottomline parity0"><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- a/a Thu Jan 01 00:00:00 1970 +0000
78 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
79 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
79 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -1,1 +0,0 @@
80 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -1,1 +0,0 @@
80 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="minusline">-a
81 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="minusline">-a
81 </span></div>
82 </span></div>
82 </div>
83 </div>
83
84
84 </div>
85 </div>
85 </div>
86 </div>
86
87
87
88
88 </body>
89 </body>
89 </html>
90 </html>
90
91
91 % diff removed file
92 % diff removed file
92 200 Script output follows
93 200 Script output follows
93
94
94 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
95 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
95 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
96 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
96 <head>
97 <head>
97 <link rel="icon" href="/static/hgicon.png" type="image/png" />
98 <link rel="icon" href="/static/hgicon.png" type="image/png" />
98 <meta name="robots" content="index, nofollow" />
99 <meta name="robots" content="index, nofollow" />
99 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
100 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
100
101
101 <title>test: a diff</title>
102 <title>test: a diff</title>
102 </head>
103 </head>
103 <body>
104 <body>
104
105
105 <div class="container">
106 <div class="container">
106 <div class="menu">
107 <div class="menu">
107 <div class="logo">
108 <div class="logo">
108 <a href="http://www.selenic.com/mercurial/">
109 <a href="http://www.selenic.com/mercurial/">
109 <img src="/static/hglogo.png" alt="mercurial" /></a>
110 <img src="/static/hglogo.png" alt="mercurial" /></a>
110 </div>
111 </div>
111 <ul>
112 <ul>
112 <li><a href="/shortlog/c78f6c5cbea9">log</a></li>
113 <li><a href="/shortlog/c78f6c5cbea9">log</a></li>
113 <li><a href="/graph/c78f6c5cbea9">graph</a></li>
114 <li><a href="/graph/c78f6c5cbea9">graph</a></li>
114 <li><a href="/tags">tags</a></li>
115 <li><a href="/tags">tags</a></li>
116 <li><a href="/branches">branches</a></li>
115 </ul>
117 </ul>
116 <ul>
118 <ul>
117 <li><a href="/rev/c78f6c5cbea9">changeset</a></li>
119 <li><a href="/rev/c78f6c5cbea9">changeset</a></li>
118 <li><a href="/file/c78f6c5cbea9">browse</a></li>
120 <li><a href="/file/c78f6c5cbea9">browse</a></li>
119 </ul>
121 </ul>
120 <ul>
122 <ul>
121 <li><a href="/file/c78f6c5cbea9/a">file</a></li>
123 <li><a href="/file/c78f6c5cbea9/a">file</a></li>
122 <li class="active">diff</li>
124 <li class="active">diff</li>
123 <li><a href="/annotate/c78f6c5cbea9/a">annotate</a></li>
125 <li><a href="/annotate/c78f6c5cbea9/a">annotate</a></li>
124 <li><a href="/log/c78f6c5cbea9/a">file log</a></li>
126 <li><a href="/log/c78f6c5cbea9/a">file log</a></li>
125 <li><a href="/raw-file/c78f6c5cbea9/a">raw</a></li>
127 <li><a href="/raw-file/c78f6c5cbea9/a">raw</a></li>
126 </ul>
128 </ul>
127 </div>
129 </div>
128
130
129 <div class="main">
131 <div class="main">
130 <h2><a href="/">test</a></h2>
132 <h2><a href="/">test</a></h2>
131 <h3>diff a @ 1:c78f6c5cbea9</h3>
133 <h3>diff a @ 1:c78f6c5cbea9</h3>
132
134
133 <form class="search" action="/log">
135 <form class="search" action="/log">
134 <p></p>
136 <p></p>
135 <p><input name="rev" id="search1" type="text" size="30" /></p>
137 <p><input name="rev" id="search1" type="text" size="30" /></p>
136 <div id="hint">find changesets by author, revision,
138 <div id="hint">find changesets by author, revision,
137 files, or words in the commit message</div>
139 files, or words in the commit message</div>
138 </form>
140 </form>
139
141
140 <div class="description">del</div>
142 <div class="description">del</div>
141
143
142 <table id="changesetEntry">
144 <table id="changesetEntry">
143 <tr>
145 <tr>
144 <th>author</th>
146 <th>author</th>
145 <td>&#116;&#101;&#115;&#116;</td>
147 <td>&#116;&#101;&#115;&#116;</td>
146 </tr>
148 </tr>
147 <tr>
149 <tr>
148 <th>date</th>
150 <th>date</th>
149 <td>Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
151 <td>Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
150 </tr>
152 </tr>
151 <tr>
153 <tr>
152 <th>parents</th>
154 <th>parents</th>
153 <td><a href="/file/cb9a9f314b8b/a">cb9a9f314b8b</a> </td>
155 <td><a href="/file/cb9a9f314b8b/a">cb9a9f314b8b</a> </td>
154 </tr>
156 </tr>
155 <tr>
157 <tr>
156 <th>children</th>
158 <th>children</th>
157 <td></td>
159 <td></td>
158 </tr>
160 </tr>
159
161
160 </table>
162 </table>
161
163
162 <div class="overflow">
164 <div class="overflow">
163 <div class="sourcefirst"> line diff</div>
165 <div class="sourcefirst"> line diff</div>
164
166
165 <div class="source bottomline parity0"><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- a/a Thu Jan 01 00:00:00 1970 +0000
167 <div class="source bottomline parity0"><a href="#l1.1" id="l1.1"> 1.1</a> <span class="minusline">--- a/a Thu Jan 01 00:00:00 1970 +0000
166 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
168 </span><a href="#l1.2" id="l1.2"> 1.2</a> <span class="plusline">+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
167 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -1,1 +0,0 @@
169 </span><a href="#l1.3" id="l1.3"> 1.3</a> <span class="atline">@@ -1,1 +0,0 @@
168 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="minusline">-a
170 </span><a href="#l1.4" id="l1.4"> 1.4</a> <span class="minusline">-a
169 </span></div>
171 </span></div>
170 </div>
172 </div>
171 </div>
173 </div>
172 </div>
174 </div>
173
175
174
176
175
177
176 </body>
178 </body>
177 </html>
179 </html>
178
180
@@ -1,277 +1,279 b''
1 adding da/foo
1 adding da/foo
2 adding foo
2 adding foo
3 % manifest
3 % manifest
4 200 Script output follows
4 200 Script output follows
5
5
6
6
7 drwxr-xr-x da
7 drwxr-xr-x da
8 -rw-r--r-- 4 foo
8 -rw-r--r-- 4 foo
9
9
10
10
11 200 Script output follows
11 200 Script output follows
12
12
13
13
14 -rw-r--r-- 4 foo
14 -rw-r--r-- 4 foo
15
15
16
16
17 % plain file
17 % plain file
18 200 Script output follows
18 200 Script output follows
19
19
20 foo
20 foo
21 % should give a 404 - static file that does not exist
21 % should give a 404 - static file that does not exist
22 404 Not Found
22 404 Not Found
23
23
24 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
24 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
25 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
25 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
26 <head>
26 <head>
27 <link rel="icon" href="/static/hgicon.png" type="image/png" />
27 <link rel="icon" href="/static/hgicon.png" type="image/png" />
28 <meta name="robots" content="index, nofollow" />
28 <meta name="robots" content="index, nofollow" />
29 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
29 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
30
30
31 <title>test: error</title>
31 <title>test: error</title>
32 </head>
32 </head>
33 <body>
33 <body>
34
34
35 <div class="container">
35 <div class="container">
36 <div class="menu">
36 <div class="menu">
37 <div class="logo">
37 <div class="logo">
38 <a href="http://www.selenic.com/mercurial/">
38 <a href="http://www.selenic.com/mercurial/">
39 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
39 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
40 </div>
40 </div>
41 <ul>
41 <ul>
42 <li><a href="/shortlog">log</a></li>
42 <li><a href="/shortlog">log</a></li>
43 <li><a href="/graph">graph</a></li>
43 <li><a href="/graph">graph</a></li>
44 <li><a href="/tags">tags</a></li>
44 <li><a href="/tags">tags</a></li>
45 <li><a href="/branches">branches</a></li>
45 </ul>
46 </ul>
46 </div>
47 </div>
47
48
48 <div class="main">
49 <div class="main">
49
50
50 <h2><a href="/">test</a></h2>
51 <h2><a href="/">test</a></h2>
51 <h3>error</h3>
52 <h3>error</h3>
52
53
53 <form class="search" action="/log">
54 <form class="search" action="/log">
54
55
55 <p><input name="rev" id="search1" type="text" size="30"></p>
56 <p><input name="rev" id="search1" type="text" size="30"></p>
56 <div id="hint">find changesets by author, revision,
57 <div id="hint">find changesets by author, revision,
57 files, or words in the commit message</div>
58 files, or words in the commit message</div>
58 </form>
59 </form>
59
60
60 <div class="description">
61 <div class="description">
61 <p>
62 <p>
62 An error occurred while processing your request:
63 An error occurred while processing your request:
63 </p>
64 </p>
64 <p>
65 <p>
65 Not Found
66 Not Found
66 </p>
67 </p>
67 </div>
68 </div>
68 </div>
69 </div>
69 </div>
70 </div>
70
71
71
72
72
73
73 </body>
74 </body>
74 </html>
75 </html>
75
76
76 % should give a 404 - bad revision
77 % should give a 404 - bad revision
77 404 Not Found
78 404 Not Found
78
79
79
80
80 error: revision not found: spam
81 error: revision not found: spam
81 % should give a 400 - bad command
82 % should give a 400 - bad command
82 400
83 400
83
84
84
85
85 error: no such method: spam
86 error: no such method: spam
86 % should give a 404 - file does not exist
87 % should give a 404 - file does not exist
87 404 Not Found
88 404 Not Found
88
89
89
90
90 error: bork@2ef0ac749a14: not found in manifest
91 error: bork@2ef0ac749a14: not found in manifest
91 404 Not Found
92 404 Not Found
92
93
93 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
94 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
94 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
95 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
95 <head>
96 <head>
96 <link rel="icon" href="/static/hgicon.png" type="image/png" />
97 <link rel="icon" href="/static/hgicon.png" type="image/png" />
97 <meta name="robots" content="index, nofollow" />
98 <meta name="robots" content="index, nofollow" />
98 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
99 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
99
100
100 <title>test: error</title>
101 <title>test: error</title>
101 </head>
102 </head>
102 <body>
103 <body>
103
104
104 <div class="container">
105 <div class="container">
105 <div class="menu">
106 <div class="menu">
106 <div class="logo">
107 <div class="logo">
107 <a href="http://www.selenic.com/mercurial/">
108 <a href="http://www.selenic.com/mercurial/">
108 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
109 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
109 </div>
110 </div>
110 <ul>
111 <ul>
111 <li><a href="/shortlog">log</a></li>
112 <li><a href="/shortlog">log</a></li>
112 <li><a href="/graph">graph</a></li>
113 <li><a href="/graph">graph</a></li>
113 <li><a href="/tags">tags</a></li>
114 <li><a href="/tags">tags</a></li>
115 <li><a href="/branches">branches</a></li>
114 </ul>
116 </ul>
115 </div>
117 </div>
116
118
117 <div class="main">
119 <div class="main">
118
120
119 <h2><a href="/">test</a></h2>
121 <h2><a href="/">test</a></h2>
120 <h3>error</h3>
122 <h3>error</h3>
121
123
122 <form class="search" action="/log">
124 <form class="search" action="/log">
123
125
124 <p><input name="rev" id="search1" type="text" size="30"></p>
126 <p><input name="rev" id="search1" type="text" size="30"></p>
125 <div id="hint">find changesets by author, revision,
127 <div id="hint">find changesets by author, revision,
126 files, or words in the commit message</div>
128 files, or words in the commit message</div>
127 </form>
129 </form>
128
130
129 <div class="description">
131 <div class="description">
130 <p>
132 <p>
131 An error occurred while processing your request:
133 An error occurred while processing your request:
132 </p>
134 </p>
133 <p>
135 <p>
134 bork@2ef0ac749a14: not found in manifest
136 bork@2ef0ac749a14: not found in manifest
135 </p>
137 </p>
136 </div>
138 </div>
137 </div>
139 </div>
138 </div>
140 </div>
139
141
140
142
141
143
142 </body>
144 </body>
143 </html>
145 </html>
144
146
145 404 Not Found
147 404 Not Found
146
148
147
149
148 error: bork@2ef0ac749a14: not found in manifest
150 error: bork@2ef0ac749a14: not found in manifest
149 % stop and restart
151 % stop and restart
150 9 log lines written
152 9 log lines written
151 % static file
153 % static file
152 200 Script output follows
154 200 Script output follows
153
155
154 body { font-family: sans-serif; font-size: 12px; margin:0px; border:solid #d9d8d1; border-width:1px; margin:10px; }
156 body { font-family: sans-serif; font-size: 12px; margin:0px; border:solid #d9d8d1; border-width:1px; margin:10px; }
155 a { color:#0000cc; }
157 a { color:#0000cc; }
156 a:hover, a:visited, a:active { color:#880000; }
158 a:hover, a:visited, a:active { color:#880000; }
157 div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
159 div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; }
158 div.page_header a:visited { color:#0000cc; }
160 div.page_header a:visited { color:#0000cc; }
159 div.page_header a:hover { color:#880000; }
161 div.page_header a:hover { color:#880000; }
160 div.page_nav { padding:8px; }
162 div.page_nav { padding:8px; }
161 div.page_nav a:visited { color:#0000cc; }
163 div.page_nav a:visited { color:#0000cc; }
162 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
164 div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px}
163 div.page_footer { padding:4px 8px; background-color: #d9d8d1; }
165 div.page_footer { padding:4px 8px; background-color: #d9d8d1; }
164 div.page_footer_text { float:left; color:#555555; font-style:italic; }
166 div.page_footer_text { float:left; color:#555555; font-style:italic; }
165 div.page_body { padding:8px; }
167 div.page_body { padding:8px; }
166 div.title, a.title {
168 div.title, a.title {
167 display:block; padding:6px 8px;
169 display:block; padding:6px 8px;
168 font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
170 font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000;
169 }
171 }
170 a.title:hover { background-color: #d9d8d1; }
172 a.title:hover { background-color: #d9d8d1; }
171 div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
173 div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; }
172 div.log_body { padding:8px 8px 8px 150px; }
174 div.log_body { padding:8px 8px 8px 150px; }
173 .age { white-space:nowrap; }
175 .age { white-space:nowrap; }
174 span.age { position:relative; float:left; width:142px; font-style:italic; }
176 span.age { position:relative; float:left; width:142px; font-style:italic; }
175 div.log_link {
177 div.log_link {
176 padding:0px 8px;
178 padding:0px 8px;
177 font-size:10px; font-family:sans-serif; font-style:normal;
179 font-size:10px; font-family:sans-serif; font-style:normal;
178 position:relative; float:left; width:136px;
180 position:relative; float:left; width:136px;
179 }
181 }
180 div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
182 div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; }
181 a.list { text-decoration:none; color:#000000; }
183 a.list { text-decoration:none; color:#000000; }
182 a.list:hover { text-decoration:underline; color:#880000; }
184 a.list:hover { text-decoration:underline; color:#880000; }
183 table { padding:8px 4px; }
185 table { padding:8px 4px; }
184 th { padding:2px 5px; font-size:12px; text-align:left; }
186 th { padding:2px 5px; font-size:12px; text-align:left; }
185 tr.light:hover, .parity0:hover { background-color:#edece6; }
187 tr.light:hover, .parity0:hover { background-color:#edece6; }
186 tr.dark, .parity1 { background-color:#f6f6f0; }
188 tr.dark, .parity1 { background-color:#f6f6f0; }
187 tr.dark:hover, .parity1:hover { background-color:#edece6; }
189 tr.dark:hover, .parity1:hover { background-color:#edece6; }
188 td { padding:2px 5px; font-size:12px; vertical-align:top; }
190 td { padding:2px 5px; font-size:12px; vertical-align:top; }
189 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
191 td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; }
190 td.indexlinks { white-space: nowrap; }
192 td.indexlinks { white-space: nowrap; }
191 td.indexlinks a {
193 td.indexlinks a {
192 padding: 2px 5px; line-height: 10px;
194 padding: 2px 5px; line-height: 10px;
193 border: 1px solid;
195 border: 1px solid;
194 color: #ffffff; background-color: #7777bb;
196 color: #ffffff; background-color: #7777bb;
195 border-color: #aaaadd #333366 #333366 #aaaadd;
197 border-color: #aaaadd #333366 #333366 #aaaadd;
196 font-weight: bold; text-align: center; text-decoration: none;
198 font-weight: bold; text-align: center; text-decoration: none;
197 font-size: 10px;
199 font-size: 10px;
198 }
200 }
199 td.indexlinks a:hover { background-color: #6666aa; }
201 td.indexlinks a:hover { background-color: #6666aa; }
200 div.pre { font-family:monospace; font-size:12px; white-space:pre; }
202 div.pre { font-family:monospace; font-size:12px; white-space:pre; }
201 div.diff_info { font-family:monospace; color:#000099; background-color:#edece6; font-style:italic; }
203 div.diff_info { font-family:monospace; color:#000099; background-color:#edece6; font-style:italic; }
202 div.index_include { border:solid #d9d8d1; border-width:0px 0px 1px; padding:12px 8px; }
204 div.index_include { border:solid #d9d8d1; border-width:0px 0px 1px; padding:12px 8px; }
203 div.search { margin:4px 8px; position:absolute; top:56px; right:12px }
205 div.search { margin:4px 8px; position:absolute; top:56px; right:12px }
204 .linenr { color:#999999; text-decoration:none }
206 .linenr { color:#999999; text-decoration:none }
205 div.rss_logo { float: right; white-space: nowrap; }
207 div.rss_logo { float: right; white-space: nowrap; }
206 div.rss_logo a {
208 div.rss_logo a {
207 padding:3px 6px; line-height:10px;
209 padding:3px 6px; line-height:10px;
208 border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
210 border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e;
209 color:#ffffff; background-color:#ff6600;
211 color:#ffffff; background-color:#ff6600;
210 font-weight:bold; font-family:sans-serif; font-size:10px;
212 font-weight:bold; font-family:sans-serif; font-size:10px;
211 text-align:center; text-decoration:none;
213 text-align:center; text-decoration:none;
212 }
214 }
213 div.rss_logo a:hover { background-color:#ee5500; }
215 div.rss_logo a:hover { background-color:#ee5500; }
214 pre { margin: 0; }
216 pre { margin: 0; }
215 span.logtags span {
217 span.logtags span {
216 padding: 0px 4px;
218 padding: 0px 4px;
217 font-size: 10px;
219 font-size: 10px;
218 font-weight: normal;
220 font-weight: normal;
219 border: 1px solid;
221 border: 1px solid;
220 background-color: #ffaaff;
222 background-color: #ffaaff;
221 border-color: #ffccff #ff00ee #ff00ee #ffccff;
223 border-color: #ffccff #ff00ee #ff00ee #ffccff;
222 }
224 }
223 span.logtags span.tagtag {
225 span.logtags span.tagtag {
224 background-color: #ffffaa;
226 background-color: #ffffaa;
225 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
227 border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
226 }
228 }
227 span.logtags span.branchtag {
229 span.logtags span.branchtag {
228 background-color: #aaffaa;
230 background-color: #aaffaa;
229 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
231 border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
230 }
232 }
231 span.logtags span.inbranchtag {
233 span.logtags span.inbranchtag {
232 background-color: #d5dde6;
234 background-color: #d5dde6;
233 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
235 border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4;
234 }
236 }
235
237
236 /* Graph */
238 /* Graph */
237 div#wrapper {
239 div#wrapper {
238 position: relative;
240 position: relative;
239 margin: 0;
241 margin: 0;
240 padding: 0;
242 padding: 0;
241 margin-top: 3px;
243 margin-top: 3px;
242 }
244 }
243
245
244 canvas {
246 canvas {
245 position: absolute;
247 position: absolute;
246 z-index: 5;
248 z-index: 5;
247 top: -0.9em;
249 top: -0.9em;
248 margin: 0;
250 margin: 0;
249 }
251 }
250
252
251 ul#nodebgs {
253 ul#nodebgs {
252 list-style: none inside none;
254 list-style: none inside none;
253 padding: 0;
255 padding: 0;
254 margin: 0;
256 margin: 0;
255 top: -0.7em;
257 top: -0.7em;
256 }
258 }
257
259
258 ul#graphnodes li, ul#nodebgs li {
260 ul#graphnodes li, ul#nodebgs li {
259 height: 39px;
261 height: 39px;
260 }
262 }
261
263
262 ul#graphnodes {
264 ul#graphnodes {
263 position: absolute;
265 position: absolute;
264 z-index: 10;
266 z-index: 10;
265 top: -0.8em;
267 top: -0.8em;
266 list-style: none inside none;
268 list-style: none inside none;
267 padding: 0;
269 padding: 0;
268 }
270 }
269
271
270 ul#graphnodes li .info {
272 ul#graphnodes li .info {
271 display: block;
273 display: block;
272 font-size: 100%;
274 font-size: 100%;
273 position: relative;
275 position: relative;
274 top: -3px;
276 top: -3px;
275 font-style: italic;
277 font-style: italic;
276 }
278 }
277 % errors
279 % errors
@@ -1,282 +1,285 b''
1 adding get-with-headers.py
1 adding get-with-headers.py
2 adding isolatin.txt
2 adding isolatin.txt
3 % hg serve
3 % hg serve
4 % hgweb filerevision, html
4 % hgweb filerevision, html
5 200 Script output follows
5 200 Script output follows
6
6
7 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
7 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
8 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
8 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
9 <head>
9 <head>
10 <link rel="icon" href="/static/hgicon.png" type="image/png" />
10 <link rel="icon" href="/static/hgicon.png" type="image/png" />
11 <meta name="robots" content="index, nofollow" />
11 <meta name="robots" content="index, nofollow" />
12 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
12 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
13
13
14 <link rel="stylesheet" href="/highlightcss" type="text/css" />
14 <link rel="stylesheet" href="/highlightcss" type="text/css" />
15 <title>test: 7c3facd7c58a get-with-headers.py</title>
15 <title>test: 7c3facd7c58a get-with-headers.py</title>
16 </head>
16 </head>
17 <body>
17 <body>
18
18
19 <div class="container">
19 <div class="container">
20 <div class="menu">
20 <div class="menu">
21 <div class="logo">
21 <div class="logo">
22 <a href="http://www.selenic.com/mercurial/">
22 <a href="http://www.selenic.com/mercurial/">
23 <img src="/static/hglogo.png" alt="mercurial" /></a>
23 <img src="/static/hglogo.png" alt="mercurial" /></a>
24 </div>
24 </div>
25 <ul>
25 <ul>
26 <li><a href="/shortlog/7c3facd7c58a">log</a></li>
26 <li><a href="/shortlog/7c3facd7c58a">log</a></li>
27 <li><a href="/graph/7c3facd7c58a">graph</a></li>
27 <li><a href="/graph/7c3facd7c58a">graph</a></li>
28 <li><a href="/tags">tags</a></li>
28 <li><a href="/tags">tags</a></li>
29 <li><a href="/branches">branches</a></li>
29 </ul>
30 </ul>
30 <ul>
31 <ul>
31 <li><a href="/rev/7c3facd7c58a">changeset</a></li>
32 <li><a href="/rev/7c3facd7c58a">changeset</a></li>
32 <li><a href="/file/7c3facd7c58a/">browse</a></li>
33 <li><a href="/file/7c3facd7c58a/">browse</a></li>
33 </ul>
34 </ul>
34 <ul>
35 <ul>
35 <li class="active">file</li>
36 <li class="active">file</li>
36 <li><a href="/diff/7c3facd7c58a/get-with-headers.py">diff</a></li>
37 <li><a href="/diff/7c3facd7c58a/get-with-headers.py">diff</a></li>
37 <li><a href="/annotate/7c3facd7c58a/get-with-headers.py">annotate</a></li>
38 <li><a href="/annotate/7c3facd7c58a/get-with-headers.py">annotate</a></li>
38 <li><a href="/log/7c3facd7c58a/get-with-headers.py">file log</a></li>
39 <li><a href="/log/7c3facd7c58a/get-with-headers.py">file log</a></li>
39 <li><a href="/raw-file/7c3facd7c58a/get-with-headers.py">raw</a></li>
40 <li><a href="/raw-file/7c3facd7c58a/get-with-headers.py">raw</a></li>
40 </ul>
41 </ul>
41 </div>
42 </div>
42
43
43 <div class="main">
44 <div class="main">
44 <h2><a href="/">test</a></h2>
45 <h2><a href="/">test</a></h2>
45 <h3>view get-with-headers.py @ 0:7c3facd7c58a</h3>
46 <h3>view get-with-headers.py @ 0:7c3facd7c58a</h3>
46
47
47 <form class="search" action="/log">
48 <form class="search" action="/log">
48
49
49 <p><input name="rev" id="search1" type="text" size="30" /></p>
50 <p><input name="rev" id="search1" type="text" size="30" /></p>
50 <div id="hint">find changesets by author, revision,
51 <div id="hint">find changesets by author, revision,
51 files, or words in the commit message</div>
52 files, or words in the commit message</div>
52 </form>
53 </form>
53
54
54 <div class="description">a</div>
55 <div class="description">a</div>
55
56
56 <table id="changesetEntry">
57 <table id="changesetEntry">
57 <tr>
58 <tr>
58 <th class="author">author</th>
59 <th class="author">author</th>
59 <td class="author">&#116;&#101;&#115;&#116;</td>
60 <td class="author">&#116;&#101;&#115;&#116;</td>
60 </tr>
61 </tr>
61 <tr>
62 <tr>
62 <th class="date">date</th>
63 <th class="date">date</th>
63 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
64 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
64 </tr>
65 </tr>
65 <tr>
66 <tr>
66 <th class="author">parents</th>
67 <th class="author">parents</th>
67 <td class="author"></td>
68 <td class="author"></td>
68 </tr>
69 </tr>
69 <tr>
70 <tr>
70 <th class="author">children</th>
71 <th class="author">children</th>
71 <td class="author"></td>
72 <td class="author"></td>
72 </tr>
73 </tr>
73
74
74 </table>
75 </table>
75
76
76 <div class="overflow">
77 <div class="overflow">
77 <div class="sourcefirst"> line source</div>
78 <div class="sourcefirst"> line source</div>
78 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> <span class="c">#!/usr/bin/env python</span></div><div class="parity1 source"><a href="#l2" id="l2"> 2</a> </div><div class="parity0 source"><a href="#l3" id="l3"> 3</a> <span class="n">__doc__</span> <span class="o">=</span> <span class="s">&quot;&quot;&quot;This does HTTP get requests given a host:port and path and returns</span></div><div class="parity1 source"><a href="#l4" id="l4"> 4</a> <span class="s">a subset of the headers plus the body of the result.&quot;&quot;&quot;</span></div><div class="parity0 source"><a href="#l5" id="l5"> 5</a> </div><div class="parity1 source"><a href="#l6" id="l6"> 6</a> <span class="kn">import</span> <span class="nn">httplib</span><span class="o">,</span> <span class="nn">sys</span><span class="o">,</span> <span class="nn">re</span></div><div class="parity0 source"><a href="#l7" id="l7"> 7</a> </div><div class="parity1 source"><a href="#l8" id="l8"> 8</a> <span class="kn">try</span><span class="p">:</span></div><div class="parity0 source"><a href="#l9" id="l9"> 9</a> <span class="kn">import</span> <span class="nn">msvcrt</span><span class="o">,</span> <span class="nn">os</span></div><div class="parity1 source"><a href="#l10" id="l10"> 10</a> <span class="n">msvcrt</span><span class="o">.</span><span class="n">setmode</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">fileno</span><span class="p">(),</span> <span class="n">os</span><span class="o">.</span><span class="n">O_BINARY</span><span class="p">)</span></div><div class="parity0 source"><a href="#l11" id="l11"> 11</a> <span class="n">msvcrt</span><span class="o">.</span><span class="n">setmode</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">fileno</span><span class="p">(),</span> <span class="n">os</span><span class="o">.</span><span class="n">O_BINARY</span><span class="p">)</span></div><div class="parity1 source"><a href="#l12" id="l12"> 12</a> <span class="kn">except</span> <span class="ne">ImportError</span><span class="p">:</span></div><div class="parity0 source"><a href="#l13" id="l13"> 13</a> <span class="kn">pass</span></div><div class="parity1 source"><a href="#l14" id="l14"> 14</a> </div><div class="parity0 source"><a href="#l15" id="l15"> 15</a> <span class="n">headers</span> <span class="o">=</span> <span class="p">[</span><span class="n">h</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="kn">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">3</span><span class="p">:]]</span></div><div class="parity1 source"><a href="#l16" id="l16"> 16</a> <span class="n">conn</span> <span class="o">=</span> <span class="n">httplib</span><span class="o">.</span><span class="n">HTTPConnection</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span></div><div class="parity0 source"><a href="#l17" id="l17"> 17</a> <span class="n">conn</span><span class="o">.</span><span class="n">request</span><span class="p">(</span><span class="s">&quot;GET&quot;</span><span class="p">,</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span></div><div class="parity1 source"><a href="#l18" id="l18"> 18</a> <span class="n">response</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">getresponse</span><span class="p">()</span></div><div class="parity0 source"><a href="#l19" id="l19"> 19</a> <span class="kn">print</span> <span class="n">response</span><span class="o">.</span><span class="n">status</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">reason</span></div><div class="parity1 source"><a href="#l20" id="l20"> 20</a> <span class="kn">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">headers</span><span class="p">:</span></div><div class="parity0 source"><a href="#l21" id="l21"> 21</a> <span class="kn">if</span> <span class="n">response</span><span class="o">.</span><span class="n">getheader</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span></div><div class="parity1 source"><a href="#l22" id="l22"> 22</a> <span class="kn">print</span> <span class="s">&quot;</span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">getheader</span><span class="p">(</span><span class="n">h</span><span class="p">))</span></div><div class="parity0 source"><a href="#l23" id="l23"> 23</a> <span class="kn">print</span></div><div class="parity1 source"><a href="#l24" id="l24"> 24</a> <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">read</span><span class="p">()</span></div><div class="parity0 source"><a href="#l25" id="l25"> 25</a> <span class="n">data</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s">&#39;\d+ years&#39;</span><span class="p">,</span> <span class="s">&#39;many years&#39;</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span></div><div class="parity1 source"><a href="#l26" id="l26"> 26</a> <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">data</span><span class="p">)</span></div><div class="parity0 source"><a href="#l27" id="l27"> 27</a> </div><div class="parity1 source"><a href="#l28" id="l28"> 28</a> <span class="kn">if</span> <span class="mi">200</span> <span class="o">&lt;=</span> <span class="n">response</span><span class="o">.</span><span class="n">status</span> <span class="o">&lt;=</span> <span class="mi">299</span><span class="p">:</span></div><div class="parity0 source"><a href="#l29" id="l29"> 29</a> <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span></div><div class="parity1 source"><a href="#l30" id="l30"> 30</a> <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span></div>
79 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> <span class="c">#!/usr/bin/env python</span></div><div class="parity1 source"><a href="#l2" id="l2"> 2</a> </div><div class="parity0 source"><a href="#l3" id="l3"> 3</a> <span class="n">__doc__</span> <span class="o">=</span> <span class="s">&quot;&quot;&quot;This does HTTP get requests given a host:port and path and returns</span></div><div class="parity1 source"><a href="#l4" id="l4"> 4</a> <span class="s">a subset of the headers plus the body of the result.&quot;&quot;&quot;</span></div><div class="parity0 source"><a href="#l5" id="l5"> 5</a> </div><div class="parity1 source"><a href="#l6" id="l6"> 6</a> <span class="kn">import</span> <span class="nn">httplib</span><span class="o">,</span> <span class="nn">sys</span><span class="o">,</span> <span class="nn">re</span></div><div class="parity0 source"><a href="#l7" id="l7"> 7</a> </div><div class="parity1 source"><a href="#l8" id="l8"> 8</a> <span class="kn">try</span><span class="p">:</span></div><div class="parity0 source"><a href="#l9" id="l9"> 9</a> <span class="kn">import</span> <span class="nn">msvcrt</span><span class="o">,</span> <span class="nn">os</span></div><div class="parity1 source"><a href="#l10" id="l10"> 10</a> <span class="n">msvcrt</span><span class="o">.</span><span class="n">setmode</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">fileno</span><span class="p">(),</span> <span class="n">os</span><span class="o">.</span><span class="n">O_BINARY</span><span class="p">)</span></div><div class="parity0 source"><a href="#l11" id="l11"> 11</a> <span class="n">msvcrt</span><span class="o">.</span><span class="n">setmode</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">fileno</span><span class="p">(),</span> <span class="n">os</span><span class="o">.</span><span class="n">O_BINARY</span><span class="p">)</span></div><div class="parity1 source"><a href="#l12" id="l12"> 12</a> <span class="kn">except</span> <span class="ne">ImportError</span><span class="p">:</span></div><div class="parity0 source"><a href="#l13" id="l13"> 13</a> <span class="kn">pass</span></div><div class="parity1 source"><a href="#l14" id="l14"> 14</a> </div><div class="parity0 source"><a href="#l15" id="l15"> 15</a> <span class="n">headers</span> <span class="o">=</span> <span class="p">[</span><span class="n">h</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="kn">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">3</span><span class="p">:]]</span></div><div class="parity1 source"><a href="#l16" id="l16"> 16</a> <span class="n">conn</span> <span class="o">=</span> <span class="n">httplib</span><span class="o">.</span><span class="n">HTTPConnection</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span></div><div class="parity0 source"><a href="#l17" id="l17"> 17</a> <span class="n">conn</span><span class="o">.</span><span class="n">request</span><span class="p">(</span><span class="s">&quot;GET&quot;</span><span class="p">,</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span></div><div class="parity1 source"><a href="#l18" id="l18"> 18</a> <span class="n">response</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">getresponse</span><span class="p">()</span></div><div class="parity0 source"><a href="#l19" id="l19"> 19</a> <span class="kn">print</span> <span class="n">response</span><span class="o">.</span><span class="n">status</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">reason</span></div><div class="parity1 source"><a href="#l20" id="l20"> 20</a> <span class="kn">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">headers</span><span class="p">:</span></div><div class="parity0 source"><a href="#l21" id="l21"> 21</a> <span class="kn">if</span> <span class="n">response</span><span class="o">.</span><span class="n">getheader</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span></div><div class="parity1 source"><a href="#l22" id="l22"> 22</a> <span class="kn">print</span> <span class="s">&quot;</span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">getheader</span><span class="p">(</span><span class="n">h</span><span class="p">))</span></div><div class="parity0 source"><a href="#l23" id="l23"> 23</a> <span class="kn">print</span></div><div class="parity1 source"><a href="#l24" id="l24"> 24</a> <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">read</span><span class="p">()</span></div><div class="parity0 source"><a href="#l25" id="l25"> 25</a> <span class="n">data</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s">&#39;\d+ years&#39;</span><span class="p">,</span> <span class="s">&#39;many years&#39;</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span></div><div class="parity1 source"><a href="#l26" id="l26"> 26</a> <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">data</span><span class="p">)</span></div><div class="parity0 source"><a href="#l27" id="l27"> 27</a> </div><div class="parity1 source"><a href="#l28" id="l28"> 28</a> <span class="kn">if</span> <span class="mi">200</span> <span class="o">&lt;=</span> <span class="n">response</span><span class="o">.</span><span class="n">status</span> <span class="o">&lt;=</span> <span class="mi">299</span><span class="p">:</span></div><div class="parity0 source"><a href="#l29" id="l29"> 29</a> <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span></div><div class="parity1 source"><a href="#l30" id="l30"> 30</a> <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span></div>
79 <div class="sourcelast"></div>
80 <div class="sourcelast"></div>
80 </div>
81 </div>
81 </div>
82 </div>
82 </div>
83 </div>
83
84
84
85
85
86
86 </body>
87 </body>
87 </html>
88 </html>
88
89
89 % hgweb filerevision, html
90 % hgweb filerevision, html
90 200 Script output follows
91 200 Script output follows
91
92
92 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
93 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
93 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
94 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
94 <head>
95 <head>
95 <link rel="icon" href="/static/hgicon.png" type="image/png" />
96 <link rel="icon" href="/static/hgicon.png" type="image/png" />
96 <meta name="robots" content="index, nofollow" />
97 <meta name="robots" content="index, nofollow" />
97 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
98 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
98
99
99 <link rel="stylesheet" href="/highlightcss" type="text/css" />
100 <link rel="stylesheet" href="/highlightcss" type="text/css" />
100 <title>test: 7c3facd7c58a isolatin.txt</title>
101 <title>test: 7c3facd7c58a isolatin.txt</title>
101 </head>
102 </head>
102 <body>
103 <body>
103
104
104 <div class="container">
105 <div class="container">
105 <div class="menu">
106 <div class="menu">
106 <div class="logo">
107 <div class="logo">
107 <a href="http://www.selenic.com/mercurial/">
108 <a href="http://www.selenic.com/mercurial/">
108 <img src="/static/hglogo.png" alt="mercurial" /></a>
109 <img src="/static/hglogo.png" alt="mercurial" /></a>
109 </div>
110 </div>
110 <ul>
111 <ul>
111 <li><a href="/shortlog/7c3facd7c58a">log</a></li>
112 <li><a href="/shortlog/7c3facd7c58a">log</a></li>
112 <li><a href="/graph/7c3facd7c58a">graph</a></li>
113 <li><a href="/graph/7c3facd7c58a">graph</a></li>
113 <li><a href="/tags">tags</a></li>
114 <li><a href="/tags">tags</a></li>
115 <li><a href="/branches">branches</a></li>
114 </ul>
116 </ul>
115 <ul>
117 <ul>
116 <li><a href="/rev/7c3facd7c58a">changeset</a></li>
118 <li><a href="/rev/7c3facd7c58a">changeset</a></li>
117 <li><a href="/file/7c3facd7c58a/">browse</a></li>
119 <li><a href="/file/7c3facd7c58a/">browse</a></li>
118 </ul>
120 </ul>
119 <ul>
121 <ul>
120 <li class="active">file</li>
122 <li class="active">file</li>
121 <li><a href="/diff/7c3facd7c58a/isolatin.txt">diff</a></li>
123 <li><a href="/diff/7c3facd7c58a/isolatin.txt">diff</a></li>
122 <li><a href="/annotate/7c3facd7c58a/isolatin.txt">annotate</a></li>
124 <li><a href="/annotate/7c3facd7c58a/isolatin.txt">annotate</a></li>
123 <li><a href="/log/7c3facd7c58a/isolatin.txt">file log</a></li>
125 <li><a href="/log/7c3facd7c58a/isolatin.txt">file log</a></li>
124 <li><a href="/raw-file/7c3facd7c58a/isolatin.txt">raw</a></li>
126 <li><a href="/raw-file/7c3facd7c58a/isolatin.txt">raw</a></li>
125 </ul>
127 </ul>
126 </div>
128 </div>
127
129
128 <div class="main">
130 <div class="main">
129 <h2><a href="/">test</a></h2>
131 <h2><a href="/">test</a></h2>
130 <h3>view isolatin.txt @ 0:7c3facd7c58a</h3>
132 <h3>view isolatin.txt @ 0:7c3facd7c58a</h3>
131
133
132 <form class="search" action="/log">
134 <form class="search" action="/log">
133
135
134 <p><input name="rev" id="search1" type="text" size="30" /></p>
136 <p><input name="rev" id="search1" type="text" size="30" /></p>
135 <div id="hint">find changesets by author, revision,
137 <div id="hint">find changesets by author, revision,
136 files, or words in the commit message</div>
138 files, or words in the commit message</div>
137 </form>
139 </form>
138
140
139 <div class="description">a</div>
141 <div class="description">a</div>
140
142
141 <table id="changesetEntry">
143 <table id="changesetEntry">
142 <tr>
144 <tr>
143 <th class="author">author</th>
145 <th class="author">author</th>
144 <td class="author">&#116;&#101;&#115;&#116;</td>
146 <td class="author">&#116;&#101;&#115;&#116;</td>
145 </tr>
147 </tr>
146 <tr>
148 <tr>
147 <th class="date">date</th>
149 <th class="date">date</th>
148 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
150 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
149 </tr>
151 </tr>
150 <tr>
152 <tr>
151 <th class="author">parents</th>
153 <th class="author">parents</th>
152 <td class="author"></td>
154 <td class="author"></td>
153 </tr>
155 </tr>
154 <tr>
156 <tr>
155 <th class="author">children</th>
157 <th class="author">children</th>
156 <td class="author"></td>
158 <td class="author"></td>
157 </tr>
159 </tr>
158
160
159 </table>
161 </table>
160
162
161 <div class="overflow">
163 <div class="overflow">
162 <div class="sourcefirst"> line source</div>
164 <div class="sourcefirst"> line source</div>
163 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> h?bsch</div>
165 <div class="parity0 source"><a href="#l1" id="l1"> 1</a> h?bsch</div>
164 <div class="sourcelast"></div>
166 <div class="sourcelast"></div>
165 </div>
167 </div>
166 </div>
168 </div>
167 </div>
169 </div>
168
170
169
171
170
172
171 </body>
173 </body>
172 </html>
174 </html>
173
175
174 % hgweb fileannotate, html
176 % hgweb fileannotate, html
175 200 Script output follows
177 200 Script output follows
176
178
177 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
179 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
178 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
180 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
179 <head>
181 <head>
180 <link rel="icon" href="/static/hgicon.png" type="image/png" />
182 <link rel="icon" href="/static/hgicon.png" type="image/png" />
181 <meta name="robots" content="index, nofollow" />
183 <meta name="robots" content="index, nofollow" />
182 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
184 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
183
185
184 <link rel="stylesheet" href="/highlightcss" type="text/css" />
186 <link rel="stylesheet" href="/highlightcss" type="text/css" />
185 <title>test: get-with-headers.py annotate</title>
187 <title>test: get-with-headers.py annotate</title>
186 </head>
188 </head>
187 <body>
189 <body>
188
190
189 <div class="container">
191 <div class="container">
190 <div class="menu">
192 <div class="menu">
191 <div class="logo">
193 <div class="logo">
192 <a href="http://www.selenic.com/mercurial/">
194 <a href="http://www.selenic.com/mercurial/">
193 <img src="/static/hglogo.png" alt="mercurial" /></a>
195 <img src="/static/hglogo.png" alt="mercurial" /></a>
194 </div>
196 </div>
195 <ul>
197 <ul>
196 <li><a href="/shortlog/7c3facd7c58a">log</a></li>
198 <li><a href="/shortlog/7c3facd7c58a">log</a></li>
197 <li><a href="/graph/7c3facd7c58a">graph</a></li>
199 <li><a href="/graph/7c3facd7c58a">graph</a></li>
198 <li><a href="/tags">tags</a></li>
200 <li><a href="/tags">tags</a></li>
201 <li><a href="/branches">branches</a></li>
199 </ul>
202 </ul>
200
203
201 <ul>
204 <ul>
202 <li><a href="/rev/7c3facd7c58a">changeset</a></li>
205 <li><a href="/rev/7c3facd7c58a">changeset</a></li>
203 <li><a href="/file/7c3facd7c58a/">browse</a></li>
206 <li><a href="/file/7c3facd7c58a/">browse</a></li>
204 </ul>
207 </ul>
205 <ul>
208 <ul>
206 <li><a href="/file/7c3facd7c58a/get-with-headers.py">file</a></li>
209 <li><a href="/file/7c3facd7c58a/get-with-headers.py">file</a></li>
207 <li><a href="/diff/7c3facd7c58a/get-with-headers.py">diff</a></li>
210 <li><a href="/diff/7c3facd7c58a/get-with-headers.py">diff</a></li>
208 <li class="active">annotate</li>
211 <li class="active">annotate</li>
209 <li><a href="/log/7c3facd7c58a/get-with-headers.py">file log</a></li>
212 <li><a href="/log/7c3facd7c58a/get-with-headers.py">file log</a></li>
210 <li><a href="/raw-annotate/7c3facd7c58a/get-with-headers.py">raw</a></li>
213 <li><a href="/raw-annotate/7c3facd7c58a/get-with-headers.py">raw</a></li>
211 </ul>
214 </ul>
212 </div>
215 </div>
213
216
214 <div class="main">
217 <div class="main">
215 <h2><a href="/">test</a></h2>
218 <h2><a href="/">test</a></h2>
216 <h3>annotate get-with-headers.py @ 0:7c3facd7c58a</h3>
219 <h3>annotate get-with-headers.py @ 0:7c3facd7c58a</h3>
217
220
218 <form class="search" action="/log">
221 <form class="search" action="/log">
219
222
220 <p><input name="rev" id="search1" type="text" size="30" /></p>
223 <p><input name="rev" id="search1" type="text" size="30" /></p>
221 <div id="hint">find changesets by author, revision,
224 <div id="hint">find changesets by author, revision,
222 files, or words in the commit message</div>
225 files, or words in the commit message</div>
223 </form>
226 </form>
224
227
225 <div class="description">a</div>
228 <div class="description">a</div>
226
229
227 <table id="changesetEntry">
230 <table id="changesetEntry">
228 <tr>
231 <tr>
229 <th class="author">author</th>
232 <th class="author">author</th>
230 <td class="author">&#116;&#101;&#115;&#116;</td>
233 <td class="author">&#116;&#101;&#115;&#116;</td>
231 </tr>
234 </tr>
232 <tr>
235 <tr>
233 <th class="date">date</th>
236 <th class="date">date</th>
234 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
237 <td class="date">Thu Jan 01 00:00:00 1970 +0000 (many years ago)</td>
235 </tr>
238 </tr>
236 <tr>
239 <tr>
237 <th class="author">parents</th>
240 <th class="author">parents</th>
238 <td class="author"></td>
241 <td class="author"></td>
239 </tr>
242 </tr>
240 <tr>
243 <tr>
241 <th class="author">children</th>
244 <th class="author">children</th>
242 <td class="author"></td>
245 <td class="author"></td>
243 </tr>
246 </tr>
244
247
245 </table>
248 </table>
246
249
247 <br/>
250 <br/>
248
251
249 <div class="overflow">
252 <div class="overflow">
250 <table class="bigtable">
253 <table class="bigtable">
251 <tr>
254 <tr>
252 <th class="annotate">rev</th>
255 <th class="annotate">rev</th>
253 <th class="line">&nbsp;&nbsp;line source</th>
256 <th class="line">&nbsp;&nbsp;line source</th>
254 </tr>
257 </tr>
255 <tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#1" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l1" id="l1"> 1</a> <span class="c">#!/usr/bin/env python</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#2" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l2" id="l2"> 2</a> </td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#3" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l3" id="l3"> 3</a> <span class="n">__doc__</span> <span class="o">=</span> <span class="s">&quot;&quot;&quot;This does HTTP get requests given a host:port and path and returns</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#4" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l4" id="l4"> 4</a> <span class="s">a subset of the headers plus the body of the result.&quot;&quot;&quot;</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#5" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l5" id="l5"> 5</a> </td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#6" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l6" id="l6"> 6</a> <span class="kn">import</span> <span class="nn">httplib</span><span class="o">,</span> <span class="nn">sys</span><span class="o">,</span> <span class="nn">re</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#7" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l7" id="l7"> 7</a> </td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#8" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l8" id="l8"> 8</a> <span class="kn">try</span><span class="p">:</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#9" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l9" id="l9"> 9</a> <span class="kn">import</span> <span class="nn">msvcrt</span><span class="o">,</span> <span class="nn">os</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#10" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l10" id="l10"> 10</a> <span class="n">msvcrt</span><span class="o">.</span><span class="n">setmode</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">fileno</span><span class="p">(),</span> <span class="n">os</span><span class="o">.</span><span class="n">O_BINARY</span><span class="p">)</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#11" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l11" id="l11"> 11</a> <span class="n">msvcrt</span><span class="o">.</span><span class="n">setmode</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">fileno</span><span class="p">(),</span> <span class="n">os</span><span class="o">.</span><span class="n">O_BINARY</span><span class="p">)</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#12" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l12" id="l12"> 12</a> <span class="kn">except</span> <span class="ne">ImportError</span><span class="p">:</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#13" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l13" id="l13"> 13</a> <span class="kn">pass</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#14" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l14" id="l14"> 14</a> </td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#15" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l15" id="l15"> 15</a> <span class="n">headers</span> <span class="o">=</span> <span class="p">[</span><span class="n">h</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="kn">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mf">3</span><span class="p">:]]</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#16" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l16" id="l16"> 16</a> <span class="n">conn</span> <span class="o">=</span> <span class="n">httplib</span><span class="o">.</span><span class="n">HTTPConnection</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mf">1</span><span class="p">])</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#17" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l17" id="l17"> 17</a> <span class="n">conn</span><span class="o">.</span><span class="n">request</span><span class="p">(</span><span class="s">&quot;GET&quot;</span><span class="p">,</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mf">2</span><span class="p">])</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#18" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l18" id="l18"> 18</a> <span class="n">response</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">getresponse</span><span class="p">()</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#19" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l19" id="l19"> 19</a> <span class="kn">print</span> <span class="n">response</span><span class="o">.</span><span class="n">status</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">reason</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#20" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l20" id="l20"> 20</a> <span class="kn">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">headers</span><span class="p">:</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#21" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l21" id="l21"> 21</a> <span class="kn">if</span> <span class="n">response</span><span class="o">.</span><span class="n">getheader</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#22" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l22" id="l22"> 22</a> <span class="kn">print</span> <span class="s">&quot;</span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">getheader</span><span class="p">(</span><span class="n">h</span><span class="p">))</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#23" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l23" id="l23"> 23</a> <span class="kn">print</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#24" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l24" id="l24"> 24</a> <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">read</span><span class="p">()</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#25" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l25" id="l25"> 25</a> <span class="n">data</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s">&#39;\d+ years&#39;</span><span class="p">,</span> <span class="s">&#39;many years&#39;</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#26" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l26" id="l26"> 26</a> <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">data</span><span class="p">)</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#27" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l27" id="l27"> 27</a> </td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#28" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l28" id="l28"> 28</a> <span class="kn">if</span> <span class="mf">200</span> <span class="o">&lt;=</span> <span class="n">response</span><span class="o">.</span><span class="n">status</span> <span class="o">&lt;=</span> <span class="mf">299</span><span class="p">:</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#29" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l29" id="l29"> 29</a> <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mf">0</span><span class="p">)</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#30" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l30" id="l30"> 30</a> <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mf">1</span><span class="p">)</span></td></tr>
258 <tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#1" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l1" id="l1"> 1</a> <span class="c">#!/usr/bin/env python</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#2" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l2" id="l2"> 2</a> </td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#3" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l3" id="l3"> 3</a> <span class="n">__doc__</span> <span class="o">=</span> <span class="s">&quot;&quot;&quot;This does HTTP get requests given a host:port and path and returns</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#4" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l4" id="l4"> 4</a> <span class="s">a subset of the headers plus the body of the result.&quot;&quot;&quot;</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#5" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l5" id="l5"> 5</a> </td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#6" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l6" id="l6"> 6</a> <span class="kn">import</span> <span class="nn">httplib</span><span class="o">,</span> <span class="nn">sys</span><span class="o">,</span> <span class="nn">re</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#7" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l7" id="l7"> 7</a> </td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#8" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l8" id="l8"> 8</a> <span class="kn">try</span><span class="p">:</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#9" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l9" id="l9"> 9</a> <span class="kn">import</span> <span class="nn">msvcrt</span><span class="o">,</span> <span class="nn">os</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#10" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l10" id="l10"> 10</a> <span class="n">msvcrt</span><span class="o">.</span><span class="n">setmode</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">fileno</span><span class="p">(),</span> <span class="n">os</span><span class="o">.</span><span class="n">O_BINARY</span><span class="p">)</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#11" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l11" id="l11"> 11</a> <span class="n">msvcrt</span><span class="o">.</span><span class="n">setmode</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">stderr</span><span class="o">.</span><span class="n">fileno</span><span class="p">(),</span> <span class="n">os</span><span class="o">.</span><span class="n">O_BINARY</span><span class="p">)</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#12" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l12" id="l12"> 12</a> <span class="kn">except</span> <span class="ne">ImportError</span><span class="p">:</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#13" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l13" id="l13"> 13</a> <span class="kn">pass</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#14" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l14" id="l14"> 14</a> </td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#15" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l15" id="l15"> 15</a> <span class="n">headers</span> <span class="o">=</span> <span class="p">[</span><span class="n">h</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span> <span class="kn">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mf">3</span><span class="p">:]]</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#16" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l16" id="l16"> 16</a> <span class="n">conn</span> <span class="o">=</span> <span class="n">httplib</span><span class="o">.</span><span class="n">HTTPConnection</span><span class="p">(</span><span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mf">1</span><span class="p">])</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#17" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l17" id="l17"> 17</a> <span class="n">conn</span><span class="o">.</span><span class="n">request</span><span class="p">(</span><span class="s">&quot;GET&quot;</span><span class="p">,</span> <span class="n">sys</span><span class="o">.</span><span class="n">argv</span><span class="p">[</span><span class="mf">2</span><span class="p">])</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#18" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l18" id="l18"> 18</a> <span class="n">response</span> <span class="o">=</span> <span class="n">conn</span><span class="o">.</span><span class="n">getresponse</span><span class="p">()</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#19" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l19" id="l19"> 19</a> <span class="kn">print</span> <span class="n">response</span><span class="o">.</span><span class="n">status</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">reason</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#20" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l20" id="l20"> 20</a> <span class="kn">for</span> <span class="n">h</span> <span class="ow">in</span> <span class="n">headers</span><span class="p">:</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#21" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l21" id="l21"> 21</a> <span class="kn">if</span> <span class="n">response</span><span class="o">.</span><span class="n">getheader</span><span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="bp">None</span><span class="p">)</span> <span class="ow">is</span> <span class="ow">not</span> <span class="bp">None</span><span class="p">:</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#22" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l22" id="l22"> 22</a> <span class="kn">print</span> <span class="s">&quot;</span><span class="si">%s</span><span class="s">: </span><span class="si">%s</span><span class="s">&quot;</span> <span class="o">%</span> <span class="p">(</span><span class="n">h</span><span class="p">,</span> <span class="n">response</span><span class="o">.</span><span class="n">getheader</span><span class="p">(</span><span class="n">h</span><span class="p">))</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#23" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l23" id="l23"> 23</a> <span class="kn">print</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#24" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l24" id="l24"> 24</a> <span class="n">data</span> <span class="o">=</span> <span class="n">response</span><span class="o">.</span><span class="n">read</span><span class="p">()</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#25" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l25" id="l25"> 25</a> <span class="n">data</span> <span class="o">=</span> <span class="n">re</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s">&#39;\d+ years&#39;</span><span class="p">,</span> <span class="s">&#39;many years&#39;</span><span class="p">,</span> <span class="n">data</span><span class="p">)</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#26" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l26" id="l26"> 26</a> <span class="n">sys</span><span class="o">.</span><span class="n">stdout</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="n">data</span><span class="p">)</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#27" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l27" id="l27"> 27</a> </td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#28" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l28" id="l28"> 28</a> <span class="kn">if</span> <span class="mf">200</span> <span class="o">&lt;=</span> <span class="n">response</span><span class="o">.</span><span class="n">status</span> <span class="o">&lt;=</span> <span class="mf">299</span><span class="p">:</span></td></tr><tr class="parity0"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#29" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l29" id="l29"> 29</a> <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mf">0</span><span class="p">)</span></td></tr><tr class="parity1"><td class="annotate"><a href="/annotate/7c3facd7c58a/get-with-headers.py#30" title="7c3facd7c58a: a">test@0</a></td><td class="source"><a href="#l30" id="l30"> 30</a> <span class="n">sys</span><span class="o">.</span><span class="n">exit</span><span class="p">(</span><span class="mf">1</span><span class="p">)</span></td></tr>
256 </table>
259 </table>
257 </div>
260 </div>
258 </div>
261 </div>
259 </div>
262 </div>
260
263
261
264
262
265
263 </body>
266 </body>
264 </html>
267 </html>
265
268
266 % hgweb fileannotate, raw
269 % hgweb fileannotate, raw
267
270
268 % hgweb filerevision, raw
271 % hgweb filerevision, raw
269
272
270 % hgweb highlightcss friendly
273 % hgweb highlightcss friendly
271 200 Script output follows
274 200 Script output follows
272
275
273 /* pygments_style = friendly */
276 /* pygments_style = friendly */
274
277
275 % errors encountered
278 % errors encountered
276 % hg serve again
279 % hg serve again
277 % hgweb highlightcss fruity
280 % hgweb highlightcss fruity
278 200 Script output follows
281 200 Script output follows
279
282
280 /* pygments_style = fruity */
283 /* pygments_style = fruity */
281
284
282 % errors encountered
285 % errors encountered
General Comments 0
You need to be logged in to leave comments. Login now