##// END OF EJS Templates
sslutil: require TLS 1.1+ when supported...
sslutil: require TLS 1.1+ when supported Currently, Mercurial will use TLS 1.0 or newer when connecting to remote servers, selecting the highest TLS version supported by both peers. On older Pythons, only TLS 1.0 is available. On newer Pythons, TLS 1.1 and 1.2 should be available. Security professionals recommend avoiding TLS 1.0 if possible. PCI DSS 3.1 "strongly encourages" the use of TLS 1.2. Known attacks like BEAST and POODLE exist against TLS 1.0 (although mitigations are available and properly configured servers aren't vulnerable). I asked Eric Rescorla - Mozilla's resident crypto expert - whether Mercurial should drop support for TLS 1.0. His response was "if you can get away with it." Essentially, a number of servers on the Internet don't support TLS 1.1+. This is why web browsers continue to support TLS 1.0 despite desires from security experts. This patch changes Mercurial's default behavior on modern Python versions to require TLS 1.1+, thus avoiding known security issues with TLS 1.0 and making Mercurial more secure by default. Rather than drop TLS 1.0 support wholesale, we still allow TLS 1.0 to be used if configured. This is a compromise solution - ideally we'd disallow TLS 1.0. However, since we're not sure how many Mercurial servers don't support TLS 1.1+ and we're not sure how much user inconvenience this change will bring, I think it is prudent to ship an escape hatch that still allows usage of TLS 1.0. In the default case our users get better security. In the worst case, they are no worse off than before this patch. This patch has no effect when running on Python versions that don't support TLS 1.1+. As the added test shows, connecting to a server that doesn't support TLS 1.1+ will display a warning message with a link to our wiki, where we can guide people to configure their client to allow less secure connections.

File last commit:

r29471:c4fc33c4 default
r29560:303e9300 default
Show More
test-hgwebdir.t
1619 lines | 46.4 KiB | text/troff | Tads3Lexer
Matt Mackall
tests: replace exit 80 with #require
r22046 #require serve
Mads Kiilerich
tests: use 'hghave serve' to guard tests that requires serve daemon management
r15446
Mads Kiilerich
tests: add missing no-outer-repo requirements...
r17015 hide outer repo and work in dir without '.hg'
$ hg init
$ mkdir dir
$ cd dir
Matt Mackall
tests: unify test-hgwebdir
r12443 Tests some basic hgwebdir functionality. Tests setting up paths and
collection, different forms of 404s and the subdirectory support.
$ mkdir webdir
$ cd webdir
$ hg init a
$ echo a > a/a
$ hg --cwd a ci -Ama -d'1 0'
adding a
create a mercurial queue repository
$ hg --cwd a qinit --config extensions.hgext.mq= -c
$ hg init b
$ echo b > b/b
$ hg --cwd b ci -Amb -d'2 0'
adding b
create a nested repository
$ cd b
$ hg init d
$ echo d > d/d
$ hg --cwd d ci -Amd -d'3 0'
adding d
$ cd ..
$ hg init c
$ echo c > c/c
$ hg --cwd c ci -Amc -d'3 0'
adding c
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 create a subdirectory containing repositories and subrepositories
$ mkdir notrepo
$ cd notrepo
$ hg init e
$ echo e > e/e
$ hg --cwd e ci -Ame -d'4 0'
adding e
$ hg init e/e2
$ echo e2 > e/e2/e2
$ hg --cwd e/e2 ci -Ame2 -d '4 0'
adding e2
$ hg init f
$ echo f > f/f
$ hg --cwd f ci -Amf -d'4 0'
adding f
$ hg init f/f2
$ echo f2 > f/f2/f2
$ hg --cwd f/f2 ci -Amf2 -d '4 0'
adding f2
Matt Harbison
hgwebdir: avoid redundant repo and directory entries when 'web.name' is set...
r25396 $ echo 'f2 = f2' > f/.hgsub
$ hg -R f ci -Am 'add subrepo' -d'4 0'
adding .hgsub
$ cat >> f/.hg/hgrc << EOF
> [web]
> name = fancy name for repo f
Gregory Szorc
hgweb: expose list of per-repo labels to templates...
r29471 > labels = foo, bar
Matt Harbison
hgwebdir: avoid redundant repo and directory entries when 'web.name' is set...
r25396 > EOF
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 $ cd ..
Matt Mackall
tests: unify test-hgwebdir
r12443 create repository without .hg/store
$ hg init nostore
$ rm -R nostore/.hg/store
$ root=`pwd`
$ cd ..
Mads Kiilerich
tests: add missing no-outer-repo requirements...
r17015
serve
Matt Mackall
tests: unify test-hgwebdir
r12443 $ cat > paths.conf <<EOF
> [paths]
> a=$root/a
> b=$root/b
> EOF
$ hg serve -p $HGPORT -d --pid-file=hg.pid --webdir-conf paths.conf \
> -A access-paths.log -E error-paths-1.log
$ cat hg.pid >> $DAEMON_PIDS
should give a 404 - file does not exist
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'a/file/tip/bork?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 404 Not Found
error: bork@8580ff50825a: not found in manifest
[1]
should succeed
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT '?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
/a/
/b/
av6
hgweb: add index template to json/map...
r28268 $ get-with-headers.py localhost:$HGPORT '?style=json'
200 Script output follows
{
"entries": [{
"name": "a",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
Gregory Szorc
hgweb: expose list of per-repo labels to templates...
r29471 "lastchange": [*, *], (glob)
"labels": []
av6
hgweb: add index template to json/map...
r28268 }, {
"name": "b",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
Gregory Szorc
hgweb: expose list of per-repo labels to templates...
r29471 "lastchange": [*, *], (glob)
"labels": []
av6
hgweb: add index template to json/map...
r28268 }]
} (no-eol)
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'a/file/tip/a?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
a
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'b/file/tip/b?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
b
should give a 404 - repo is not published
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'c/file/tip/c?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 404 Not Found
Wagner Bruna
hgwebdir: fix incorrect index generation for invalid paths (issue2023)...
r13066 error: repository c/file/tip/c not found
Matt Mackall
tests: unify test-hgwebdir
r12443 [1]
atom-log without basedir
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'a/atom-log' | grep '<link'
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 <link rel="self" href="http://*:$HGPORT/a/atom-log"/> (glob)
<link rel="alternate" href="http://*:$HGPORT/a/"/> (glob)
<link href="http://*:$HGPORT/a/rev/8580ff50825a"/> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443
rss-log without basedir
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT 'a/rss-log' | grep '<guid'
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 <guid isPermaLink="true">http://*:$HGPORT/a/rev/8580ff50825a</guid> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 $ cat > paths.conf <<EOF
> [paths]
> t/a/=$root/a
> b=$root/b
> coll=$root/*
> rcoll=$root/**
> star=*
> starstar=**
Mads Kiilerich
hgweb: make paths wildcards expanding in a repo root match repo correctly...
r13403 > astar=webdir/a/*
Matt Mackall
tests: unify test-hgwebdir
r12443 > EOF
$ hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf paths.conf \
> -A access-paths.log -E error-paths-2.log
$ cat hg.pid >> $DAEMON_PIDS
should succeed, slashy names
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 '?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
/t/a/
/b/
/coll/a/
/coll/a/.hg/patches/
/coll/b/
/coll/c/
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 /coll/notrepo/e/
/coll/notrepo/f/
Matt Mackall
tests: unify test-hgwebdir
r12443 /rcoll/a/
/rcoll/a/.hg/patches/
/rcoll/b/
/rcoll/b/d/
/rcoll/c/
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 /rcoll/notrepo/e/
/rcoll/notrepo/e/e2/
/rcoll/notrepo/f/
/rcoll/notrepo/f/f2/
Matt Mackall
tests: unify test-hgwebdir
r12443 /star/webdir/a/
/star/webdir/a/.hg/patches/
/star/webdir/b/
/star/webdir/c/
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 /star/webdir/notrepo/e/
/star/webdir/notrepo/f/
Matt Mackall
tests: unify test-hgwebdir
r12443 /starstar/webdir/a/
/starstar/webdir/a/.hg/patches/
/starstar/webdir/b/
/starstar/webdir/b/d/
/starstar/webdir/c/
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 /starstar/webdir/notrepo/e/
/starstar/webdir/notrepo/e/e2/
/starstar/webdir/notrepo/f/
/starstar/webdir/notrepo/f/f2/
Mads Kiilerich
hgweb: make paths wildcards expanding in a repo root match repo correctly...
r13403 /astar/
/astar/.hg/patches/
Matt Mackall
tests: unify test-hgwebdir
r12443
Gregory Szorc
hgweb: expose list of per-repo labels to templates...
r29471
$ get-with-headers.py localhost:$HGPORT1 '?style=json'
200 Script output follows
{
"entries": [{
"name": "t/a",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "b",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "coll/a",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "coll/a/.hg/patches",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "coll/b",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "coll/c",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "coll/notrepo/e",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "fancy name for repo f",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": ["foo", "bar"]
}, {
"name": "rcoll/a",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "rcoll/a/.hg/patches",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "rcoll/b",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "rcoll/b/d",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "rcoll/c",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "rcoll/notrepo/e",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "rcoll/notrepo/e/e2",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "fancy name for repo f",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": ["foo", "bar"]
}, {
"name": "rcoll/notrepo/f/f2",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "star/webdir/a",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "star/webdir/a/.hg/patches",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "star/webdir/b",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "star/webdir/c",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "star/webdir/notrepo/e",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "fancy name for repo f",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": ["foo", "bar"]
}, {
"name": "starstar/webdir/a",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "starstar/webdir/a/.hg/patches",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "starstar/webdir/b",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "starstar/webdir/b/d",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "starstar/webdir/c",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "starstar/webdir/notrepo/e",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "starstar/webdir/notrepo/e/e2",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "fancy name for repo f",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": ["foo", "bar"]
}, {
"name": "starstar/webdir/notrepo/f/f2",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "astar",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}, {
"name": "astar/.hg/patches",
"description": "unknown",
"contact": "Foo Bar \u003cfoo.bar@example.com\u003e",
"lastchange": [*, *], (glob)
"labels": []
}]
} (no-eol)
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 '?style=paper'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <script type="text/javascript" src="/static/mercurial.js"></script>
Matt Mackall
tests: unify test-hgwebdir
r12443
<title>Mercurial repositories index</title>
</head>
<body>
<div class="container">
<div class="menu">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
Matt Mackall
tests: unify test-hgwebdir
r12443 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
</div>
<div class="main">
Bryan O'Sullivan
tests: update hgweb tests to include breadcrumbs
r18264 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
Matt Mackall
tests: unify test-hgwebdir
r12443
<table class="bigtable">
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 <thead>
Matt Mackall
tests: unify test-hgwebdir
r12443 <tr>
<th><a href="?sort=name">Name</a></th>
<th><a href="?sort=description">Description</a></th>
<th><a href="?sort=contact">Contact</a></th>
<th><a href="?sort=lastchange">Last modified</a></th>
<th>&nbsp;</th>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <th>&nbsp;</th>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 </thead>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tbody class="stripes2">
Matt Mackall
tests: unify test-hgwebdir
r12443
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/t/a/?style=paper">t/a</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/t/a/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/b/?style=paper">b</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/b/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/coll/a/?style=paper">coll/a</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/coll/a/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/coll/a/.hg/patches/?style=paper">coll/a/.hg/patches</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/coll/a/.hg/patches/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/coll/b/?style=paper">coll/b</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/coll/b/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/coll/c/?style=paper">coll/c</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/coll/c/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 <td><a href="/coll/notrepo/e/?style=paper">coll/notrepo/e</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">*</td> (glob)
<td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/coll/notrepo/e/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Harbison
hgwebdir: avoid redundant repo and directory entries when 'web.name' is set...
r25396 <td><a href="/coll/notrepo/f/?style=paper">fancy name for repo f</a></td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 <td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">*</td> (glob)
<td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/coll/notrepo/f/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/rcoll/a/?style=paper">rcoll/a</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/rcoll/a/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/rcoll/a/.hg/patches/?style=paper">rcoll/a/.hg/patches</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/rcoll/a/.hg/patches/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/rcoll/b/?style=paper">rcoll/b</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/rcoll/b/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/rcoll/b/d/?style=paper">rcoll/b/d</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/rcoll/b/d/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/rcoll/c/?style=paper">rcoll/c</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/rcoll/c/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 <td><a href="/rcoll/notrepo/e/?style=paper">rcoll/notrepo/e</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">*</td> (glob)
<td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/rcoll/notrepo/e/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 <td><a href="/rcoll/notrepo/e/e2/?style=paper">rcoll/notrepo/e/e2</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">*</td> (glob)
<td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/rcoll/notrepo/e/e2/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Harbison
hgwebdir: avoid redundant repo and directory entries when 'web.name' is set...
r25396 <td><a href="/rcoll/notrepo/f/?style=paper">fancy name for repo f</a></td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 <td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">*</td> (glob)
<td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/rcoll/notrepo/f/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 <td><a href="/rcoll/notrepo/f/f2/?style=paper">rcoll/notrepo/f/f2</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">*</td> (glob)
<td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/rcoll/notrepo/f/f2/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/star/webdir/a/?style=paper">star/webdir/a</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/star/webdir/a/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/star/webdir/a/.hg/patches/?style=paper">star/webdir/a/.hg/patches</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/star/webdir/a/.hg/patches/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/star/webdir/b/?style=paper">star/webdir/b</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/star/webdir/b/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/star/webdir/c/?style=paper">star/webdir/c</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/star/webdir/c/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 <td><a href="/star/webdir/notrepo/e/?style=paper">star/webdir/notrepo/e</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">*</td> (glob)
<td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/star/webdir/notrepo/e/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Harbison
hgwebdir: avoid redundant repo and directory entries when 'web.name' is set...
r25396 <td><a href="/star/webdir/notrepo/f/?style=paper">fancy name for repo f</a></td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 <td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">*</td> (glob)
<td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/star/webdir/notrepo/f/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/starstar/webdir/a/?style=paper">starstar/webdir/a</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/starstar/webdir/a/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/starstar/webdir/a/.hg/patches/?style=paper">starstar/webdir/a/.hg/patches</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/starstar/webdir/a/.hg/patches/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/starstar/webdir/b/?style=paper">starstar/webdir/b</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/starstar/webdir/b/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/starstar/webdir/b/d/?style=paper">starstar/webdir/b/d</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/starstar/webdir/b/d/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/starstar/webdir/c/?style=paper">starstar/webdir/c</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/starstar/webdir/c/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 <td><a href="/starstar/webdir/notrepo/e/?style=paper">starstar/webdir/notrepo/e</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">*</td> (glob)
<td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/starstar/webdir/notrepo/e/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 <td><a href="/starstar/webdir/notrepo/e/e2/?style=paper">starstar/webdir/notrepo/e/e2</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">*</td> (glob)
<td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/starstar/webdir/notrepo/e/e2/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Harbison
hgwebdir: avoid redundant repo and directory entries when 'web.name' is set...
r25396 <td><a href="/starstar/webdir/notrepo/f/?style=paper">fancy name for repo f</a></td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 <td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">*</td> (glob)
<td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/starstar/webdir/notrepo/f/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 <td><a href="/starstar/webdir/notrepo/f/f2/?style=paper">starstar/webdir/notrepo/f/f2</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
<td class="age">*</td> (glob)
<td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/starstar/webdir/notrepo/f/f2/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Mads Kiilerich
hgweb: make paths wildcards expanding in a repo root match repo correctly...
r13403 <td><a href="/astar/?style=paper">astar</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Mads Kiilerich
hgweb: make paths wildcards expanding in a repo root match repo correctly...
r13403 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/astar/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Mads Kiilerich
hgweb: make paths wildcards expanding in a repo root match repo correctly...
r13403 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Mads Kiilerich
hgweb: make paths wildcards expanding in a repo root match repo correctly...
r13403 <td><a href="/astar/.hg/patches/?style=paper">astar/.hg/patches</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Mads Kiilerich
hgweb: make paths wildcards expanding in a repo root match repo correctly...
r13403 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/astar/.hg/patches/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Mads Kiilerich
hgweb: make paths wildcards expanding in a repo root match repo correctly...
r13403 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 </tbody>
Matt Mackall
tests: unify test-hgwebdir
r12443 </table>
</div>
</div>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <script type="text/javascript">process_dates()</script>
Matt Mackall
tests: unify test-hgwebdir
r12443
</body>
</html>
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 't?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
/t/a/
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 't/?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
/t/a/
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 't/?style=paper'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <script type="text/javascript" src="/static/mercurial.js"></script>
Matt Mackall
tests: unify test-hgwebdir
r12443
<title>Mercurial repositories index</title>
</head>
<body>
<div class="container">
<div class="menu">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
Matt Mackall
tests: unify test-hgwebdir
r12443 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
</div>
<div class="main">
Bryan O'Sullivan
tests: update hgweb tests to include breadcrumbs
r18264 <h2 class="breadcrumb"><a href="/">Mercurial</a> &gt; <a href="/t">t</a> </h2>
Matt Mackall
tests: unify test-hgwebdir
r12443
<table class="bigtable">
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 <thead>
Matt Mackall
tests: unify test-hgwebdir
r12443 <tr>
<th><a href="?sort=name">Name</a></th>
<th><a href="?sort=description">Description</a></th>
<th><a href="?sort=contact">Contact</a></th>
<th><a href="?sort=lastchange">Last modified</a></th>
<th>&nbsp;</th>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <th>&nbsp;</th>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 </thead>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tbody class="stripes2">
Matt Mackall
tests: unify test-hgwebdir
r12443
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tr>
Matt Mackall
tests: unify test-hgwebdir
r12443 <td><a href="/t/a/?style=paper">a</a></td>
<td>unknown</td>
<td>&#70;&#111;&#111;&#32;&#66;&#97;&#114;&#32;&#60;&#102;&#111;&#111;&#46;&#98;&#97;&#114;&#64;&#101;&#120;&#97;&#109;&#112;&#108;&#101;&#46;&#99;&#111;&#109;&#62;</td>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <td class="age">*</td> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <td class="indexlinks"></td>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <td>
<a href="/t/a/atom-log" title="subscribe to repository atom feed">
<img class="atom-logo" src="/static/feed-icon-14x14.png" alt="subscribe to repository atom feed">
</a>
</td>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 </tbody>
Matt Mackall
tests: unify test-hgwebdir
r12443 </table>
</div>
</div>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <script type="text/javascript">process_dates()</script>
Matt Mackall
tests: unify test-hgwebdir
r12443
</body>
</html>
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 't/a?style=atom'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
<?xml version="1.0" encoding="ascii"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<!-- Changelog -->
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 <id>http://*:$HGPORT1/t/a/</id> (glob)
<link rel="self" href="http://*:$HGPORT1/t/a/atom-log"/> (glob)
<link rel="alternate" href="http://*:$HGPORT1/t/a/"/> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <title>t/a Changelog</title>
<updated>1970-01-01T00:00:01+00:00</updated>
<entry>
Aaron Jensen
hgweb: adding branch, tags, bookmarks, user, and file list to atom feed entries
r21056 <title>[default] a</title>
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 <id>http://*:$HGPORT1/t/a/#changeset-8580ff50825a50c8f716709acdf8de0deddcd6ab</id> (glob)
<link href="http://*:$HGPORT1/t/a/rev/8580ff50825a"/> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <author>
<name>test</name>
<email>&#116;&#101;&#115;&#116;</email>
</author>
<updated>1970-01-01T00:00:01+00:00</updated>
<published>1970-01-01T00:00:01+00:00</published>
<content type="xhtml">
av6
hgweb: reindent atom/changelogentry.tmpl...
r29439 <table xmlns="http://www.w3.org/1999/xhtml">
<tr>
<th style="text-align:left;">changeset</th>
<td>8580ff50825a</td>
</tr>
<tr>
<th style="text-align:left;">branch</th>
<td>default</td>
</tr>
<tr>
<th style="text-align:left;">bookmark</th>
<td></td>
</tr>
<tr>
<th style="text-align:left;">tag</th>
<td>tip</td>
</tr>
<tr>
<th style="text-align:left;">user</th>
<td>&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th style="text-align:left;vertical-align:top;">description</th>
<td>a</td>
</tr>
<tr>
<th style="text-align:left;vertical-align:top;">files</th>
<td>a<br /></td>
</tr>
</table>
Matt Mackall
tests: unify test-hgwebdir
r12443 </content>
</entry>
</feed>
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 't/a/?style=atom'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
<?xml version="1.0" encoding="ascii"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<!-- Changelog -->
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 <id>http://*:$HGPORT1/t/a/</id> (glob)
<link rel="self" href="http://*:$HGPORT1/t/a/atom-log"/> (glob)
<link rel="alternate" href="http://*:$HGPORT1/t/a/"/> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <title>t/a Changelog</title>
<updated>1970-01-01T00:00:01+00:00</updated>
<entry>
Aaron Jensen
hgweb: adding branch, tags, bookmarks, user, and file list to atom feed entries
r21056 <title>[default] a</title>
Mads Kiilerich
tests: reintroduce ":$HGPORT" in test output...
r12643 <id>http://*:$HGPORT1/t/a/#changeset-8580ff50825a50c8f716709acdf8de0deddcd6ab</id> (glob)
<link href="http://*:$HGPORT1/t/a/rev/8580ff50825a"/> (glob)
Matt Mackall
tests: unify test-hgwebdir
r12443 <author>
<name>test</name>
<email>&#116;&#101;&#115;&#116;</email>
</author>
<updated>1970-01-01T00:00:01+00:00</updated>
<published>1970-01-01T00:00:01+00:00</published>
<content type="xhtml">
av6
hgweb: reindent atom/changelogentry.tmpl...
r29439 <table xmlns="http://www.w3.org/1999/xhtml">
<tr>
<th style="text-align:left;">changeset</th>
<td>8580ff50825a</td>
</tr>
<tr>
<th style="text-align:left;">branch</th>
<td>default</td>
</tr>
<tr>
<th style="text-align:left;">bookmark</th>
<td></td>
</tr>
<tr>
<th style="text-align:left;">tag</th>
<td>tip</td>
</tr>
<tr>
<th style="text-align:left;">user</th>
<td>&#116;&#101;&#115;&#116;</td>
</tr>
<tr>
<th style="text-align:left;vertical-align:top;">description</th>
<td>a</td>
</tr>
<tr>
<th style="text-align:left;vertical-align:top;">files</th>
<td>a<br /></td>
</tr>
</table>
Matt Mackall
tests: unify test-hgwebdir
r12443 </content>
</entry>
</feed>
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 't/a/file/tip/a?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
a
Test [paths] '*' extension
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'coll/?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
/coll/a/
/coll/a/.hg/patches/
/coll/b/
/coll/c/
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 /coll/notrepo/e/
/coll/notrepo/f/
Matt Mackall
tests: unify test-hgwebdir
r12443
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'coll/a/file/tip/a?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
a
Mads Kiilerich
hgweb: make paths wildcards expanding in a repo root match repo correctly...
r13403 Test [paths] '**' extension
Matt Mackall
tests: unify test-hgwebdir
r12443
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
/rcoll/a/
/rcoll/a/.hg/patches/
/rcoll/b/
/rcoll/b/d/
/rcoll/c/
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 /rcoll/notrepo/e/
/rcoll/notrepo/e/e2/
/rcoll/notrepo/f/
/rcoll/notrepo/f/f2/
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/b/d/file/tip/d?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
d
Test collapse = True
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 $ cat >> paths.conf <<EOF
> [web]
> collapse=true
Matt Harbison
hgwebdir: avoid redundant repo and directory entries when 'web.name' is set...
r25396 > descend = true
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 > EOF
$ hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf paths.conf \
> -A access-paths.log -E error-paths-3.log
$ cat hg.pid >> $DAEMON_PIDS
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'coll/?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
/coll/a/
/coll/a/.hg/patches/
/coll/b/
/coll/c/
/coll/notrepo/
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'coll/a/file/tip/a?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
a
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
/rcoll/a/
/rcoll/a/.hg/patches/
/rcoll/b/
/rcoll/b/d/
/rcoll/c/
/rcoll/notrepo/
Matt Mackall
tests: unify test-hgwebdir
r12443
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/b/d/file/tip/d?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
d
Mads Kiilerich
hgweb: make paths wildcards expanding in a repo root match repo correctly...
r13403
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 Test intermediate directories
Matt Harbison
hgwebdir: don't allow the hidden parent of a subrepo to show as a directory...
r25426 Hide the subrepo parent
$ cp $root/notrepo/f/.hg/hgrc $root/notrepo/f/.hg/hgrc.bak
$ cat >> $root/notrepo/f/.hg/hgrc << EOF
> [web]
> hidden = True
> EOF
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/notrepo/?style=raw'
Matt Harbison
hgwebdir: don't allow the hidden parent of a subrepo to show as a directory...
r25426 200 Script output follows
/rcoll/notrepo/e/
/rcoll/notrepo/e/e2/
Subrepo parent not hidden
$ mv $root/notrepo/f/.hg/hgrc.bak $root/notrepo/f/.hg/hgrc
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/notrepo/?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
/rcoll/notrepo/e/
/rcoll/notrepo/e/e2/
/rcoll/notrepo/f/
/rcoll/notrepo/f/f2/
Test repositories inside intermediate directories
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/notrepo/e/file/tip/e?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
e
Test subrepositories inside intermediate directories
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/notrepo/f/f2/file/tip/f2?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
f2
Test descend = False
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 $ cat >> paths.conf <<EOF
> descend=false
> EOF
$ hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf paths.conf \
> -A access-paths.log -E error-paths-4.log
$ cat hg.pid >> $DAEMON_PIDS
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'coll/?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
/coll/a/
/coll/b/
/coll/c/
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'coll/a/file/tip/a?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
a
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
/rcoll/a/
/rcoll/b/
/rcoll/c/
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/b/d/file/tip/d?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
d
Test intermediate directories
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/notrepo/?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
/rcoll/notrepo/e/
/rcoll/notrepo/f/
Test repositories inside intermediate directories
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/notrepo/e/file/tip/e?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
e
Test subrepositories inside intermediate directories
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 'rcoll/notrepo/f/f2/file/tip/f2?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
f2
Mads Kiilerich
hgweb: make paths wildcards expanding in a repo root match repo correctly...
r13403 Test [paths] '*' in a repo root
$ hg id http://localhost:$HGPORT1/astar
8580ff50825a
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Matt Mackall
tests: unify test-hgwebdir
r12443 $ cat > paths.conf <<EOF
> [paths]
> t/a = $root/a
> t/b = $root/b
> c = $root/c
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 > EOF
$ hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf paths.conf \
> -A access-paths.log -E error-paths-5.log
$ cat hg.pid >> $DAEMON_PIDS
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 '?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
/t/a/
/t/b/
/c/
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 't/?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
/t/a/
/t/b/
Test collapse = True
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 $ cat >> paths.conf <<EOF
Matt Mackall
tests: unify test-hgwebdir
r12443 > [web]
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 > collapse=true
> EOF
$ hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf paths.conf \
> -A access-paths.log -E error-paths-6.log
$ cat hg.pid >> $DAEMON_PIDS
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 '?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
/t/
/c/
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 't/?style=raw'
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 200 Script output follows
/t/a/
/t/b/
test descend = False
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 $ cat >> paths.conf <<EOF
Matt Mackall
tests: unify test-hgwebdir
r12443 > descend=false
> EOF
$ hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf paths.conf \
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 > -A access-paths.log -E error-paths-7.log
Matt Mackall
tests: unify test-hgwebdir
r12443 $ cat hg.pid >> $DAEMON_PIDS
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 '?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
/c/
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 't/?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
/t/a/
/t/b/
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Matt Mackall
tests: unify test-hgwebdir
r12443 $ cat > paths.conf <<EOF
> [paths]
> nostore = $root/nostore
> inexistent = $root/inexistent
> EOF
$ hg serve -p $HGPORT1 -d --pid-file=hg.pid --webdir-conf paths.conf \
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 > -A access-paths.log -E error-paths-8.log
Matt Mackall
tests: unify test-hgwebdir
r12443 $ cat hg.pid >> $DAEMON_PIDS
test inexistent and inaccessible repo should be ignored silently
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT1 ''
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
<head>
<link rel="icon" href="/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <script type="text/javascript" src="/static/mercurial.js"></script>
Matt Mackall
tests: unify test-hgwebdir
r12443
<title>Mercurial repositories index</title>
</head>
<body>
<div class="container">
<div class="menu">
Matt Mackall
urls: bulk-change primary website URLs
r26421 <a href="https://mercurial-scm.org/">
Matt Mackall
tests: unify test-hgwebdir
r12443 <img src="/static/hglogo.png" width=75 height=90 border=0 alt="mercurial" /></a>
</div>
<div class="main">
Bryan O'Sullivan
tests: update hgweb tests to include breadcrumbs
r18264 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
Matt Mackall
tests: unify test-hgwebdir
r12443
<table class="bigtable">
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 <thead>
Matt Mackall
tests: unify test-hgwebdir
r12443 <tr>
<th><a href="?sort=name">Name</a></th>
<th><a href="?sort=description">Description</a></th>
<th><a href="?sort=contact">Contact</a></th>
<th><a href="?sort=lastchange">Last modified</a></th>
<th>&nbsp;</th>
Angel Ezquerra
hgweb, paper: add (Atom) subscribe links to the repository index...
r18201 <th>&nbsp;</th>
Matt Mackall
tests: unify test-hgwebdir
r12443 </tr>
Anton Shestakov
hgweb: replace implicit <tbody> with explicit <thead> where appropriate...
r24054 </thead>
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 <tbody class="stripes2">
Matt Mackall
tests: unify test-hgwebdir
r12443
Alexander Plavin
hgweb: make stripes in repo list with CSS
r19450 </tbody>
Matt Mackall
tests: unify test-hgwebdir
r12443 </table>
</div>
</div>
Benoit Allard
web: Made elapsed time calculation dynamic (javascript)....
r14046 <script type="text/javascript">process_dates()</script>
Matt Mackall
tests: unify test-hgwebdir
r12443
</body>
</html>
Yuya Nishihara
hgweb: load server settings from --web-conf (issue4699)...
r27184
test listening address/port specified by web-conf (issue4699):
$ killdaemons.py
$ cat >> paths.conf <<EOF
> [web]
> address = localhost
> port = $HGPORT1
> EOF
$ hg serve -d --pid-file=hg.pid --web-conf paths.conf \
> -A access-paths.log -E error-paths-9.log
listening at http://*:$HGPORT1/ (bound to 127.0.0.1:$HGPORT1) (glob)
$ cat hg.pid >> $DAEMON_PIDS
$ get-with-headers.py localhost:$HGPORT1 '?style=raw'
200 Script output follows
test --port option overrides web.port:
$ killdaemons.py
$ hg serve -p $HGPORT2 -d -v --pid-file=hg.pid --web-conf paths.conf \
> -A access-paths.log -E error-paths-10.log
listening at http://*:$HGPORT2/ (bound to 127.0.0.1:$HGPORT2) (glob)
$ cat hg.pid >> $DAEMON_PIDS
$ get-with-headers.py localhost:$HGPORT2 '?style=raw'
200 Script output follows
$ killdaemons.py
Matt Mackall
tests: unify test-hgwebdir
r12443 $ cat > collections.conf <<EOF
> [collections]
> $root=$root
> EOF
$ hg serve --config web.baseurl=http://hg.example.com:8080/ -p $HGPORT2 -d \
> --pid-file=hg.pid --webdir-conf collections.conf \
> -A access-collections.log -E error-collections.log
$ cat hg.pid >> $DAEMON_PIDS
collections: should succeed
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT2 '?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
/a/
/a/.hg/patches/
/b/
/c/
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 /notrepo/e/
/notrepo/f/
Matt Mackall
tests: unify test-hgwebdir
r12443
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT2 'a/file/tip/a?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
a
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT2 'b/file/tip/b?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
b
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT2 'c/file/tip/c?style=raw'
Matt Mackall
tests: unify test-hgwebdir
r12443 200 Script output follows
c
atom-log with basedir /
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT2 'a/atom-log' | grep '<link'
Matt Mackall
tests: unify test-hgwebdir
r12443 <link rel="self" href="http://hg.example.com:8080/a/atom-log"/>
<link rel="alternate" href="http://hg.example.com:8080/a/"/>
<link href="http://hg.example.com:8080/a/rev/8580ff50825a"/>
rss-log with basedir /
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT2 'a/rss-log' | grep '<guid'
Matt Mackall
tests: unify test-hgwebdir
r12443 <guid isPermaLink="true">http://hg.example.com:8080/a/rev/8580ff50825a</guid>
Matt Mackall
tests: drop DAEMON_PIDS from killdaemons calls
r25474 $ killdaemons.py
Matt Mackall
tests: unify test-hgwebdir
r12443 $ hg serve --config web.baseurl=http://hg.example.com:8080/foo/ -p $HGPORT2 -d \
> --pid-file=hg.pid --webdir-conf collections.conf \
> -A access-collections-2.log -E error-collections-2.log
$ cat hg.pid >> $DAEMON_PIDS
atom-log with basedir /foo/
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT2 'a/atom-log' | grep '<link'
Matt Mackall
tests: unify test-hgwebdir
r12443 <link rel="self" href="http://hg.example.com:8080/foo/a/atom-log"/>
<link rel="alternate" href="http://hg.example.com:8080/foo/a/"/>
<link href="http://hg.example.com:8080/foo/a/rev/8580ff50825a"/>
rss-log with basedir /foo/
Matt Mackall
tests: drop explicit $TESTDIR from executables...
r25472 $ get-with-headers.py localhost:$HGPORT2 'a/rss-log' | grep '<guid'
Matt Mackall
tests: unify test-hgwebdir
r12443 <guid isPermaLink="true">http://hg.example.com:8080/foo/a/rev/8580ff50825a</guid>
Gregory Szorc
hgweb: make refresh interval configurable...
r26072 Path refreshing works as expected
$ killdaemons.py
$ mkdir $root/refreshtest
$ hg init $root/refreshtest/a
$ cat > paths.conf << EOF
> [paths]
> / = $root/refreshtest/*
> EOF
$ hg serve -p $HGPORT1 -d --pid-file hg.pid --webdir-conf paths.conf
$ cat hg.pid >> $DAEMON_PIDS
$ get-with-headers.py localhost:$HGPORT1 '?style=raw'
200 Script output follows
/a/
By default refreshing occurs every 20s and a new repo won't be listed
immediately.
$ hg init $root/refreshtest/b
$ get-with-headers.py localhost:$HGPORT1 '?style=raw'
200 Script output follows
/a/
Restart the server with no refresh interval. New repo should appear
immediately.
$ killdaemons.py
$ cat > paths.conf << EOF
> [web]
> refreshinterval = -1
> [paths]
> / = $root/refreshtest/*
> EOF
$ hg serve -p $HGPORT1 -d --pid-file hg.pid --webdir-conf paths.conf
$ cat hg.pid >> $DAEMON_PIDS
$ get-with-headers.py localhost:$HGPORT1 '?style=raw'
200 Script output follows
/a/
/b/
$ hg init $root/refreshtest/c
$ get-with-headers.py localhost:$HGPORT1 '?style=raw'
200 Script output follows
/a/
/b/
/c/
Matt Mackall
tests: unify test-hgwebdir
r12443 paths errors 1
$ cat error-paths-1.log
paths errors 2
$ cat error-paths-2.log
paths errors 3
$ cat error-paths-3.log
Paul Boddie
hgweb: support multi-level repository indexes by enabling descend and collapse...
r16239 paths errors 4
$ cat error-paths-4.log
paths errors 5
$ cat error-paths-5.log
paths errors 6
$ cat error-paths-6.log
paths errors 7
$ cat error-paths-7.log
paths errors 8
$ cat error-paths-8.log
Yuya Nishihara
hgweb: load server settings from --web-conf (issue4699)...
r27184 paths errors 9
$ cat error-paths-9.log
paths errors 10
$ cat error-paths-10.log
Matt Mackall
tests: unify test-hgwebdir
r12443 collections errors
$ cat error-collections.log
collections errors 2
$ cat error-collections-2.log