##// END OF EJS Templates
hgweb: support constructing URLs from an alternate base URL...
hgweb: support constructing URLs from an alternate base URL The web.baseurl config option allows server operators to define a custom URL for hosted content. The way it works today is that hgwebdir parses this config option into URL components then updates the appropriate WSGI environment variables so the request "lies" about its details. For example, SERVER_NAME is updated to reflect the alternate base URL's hostname. The WSGI environment should not be modified because WSGI applications may want to know the original request details (for debugging, etc). This commit teaches our request parser about the existence of an alternate base URL. If defined, the advertised URL and other self-reflected paths will take the alternate base URL into account. The hgweb WSGI application didn't use web.baseurl. But hgwebdir did. We update hgwebdir to alter the environment parsing accordingly. The old code around environment manipulation has been removed. With this change, parserequestfromenv() has grown to a bit unwieldy. Now that practically everyone is using it, it is obvious that there is some unused features that can be trimmed. So look for this in follow-up commits. Differential Revision: https://phab.mercurial-scm.org/D2822

File last commit:

r32004:bd3cb917 default
r36916:219b2335 default
Show More
test-hgwebdir.t
1745 lines | 52.8 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>
</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>
</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>
</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
Matt Harbison
test-serve: make the 'listening at *' lines optional...
r31769 listening at http://*:$HGPORT1/ (bound to *$LOCALIP*:$HGPORT1) (glob) (?)
Yuya Nishihara
hgweb: load server settings from --web-conf (issue4699)...
r27184 $ 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
Matt Harbison
test-serve: make the 'listening at *' lines optional...
r31769 listening at http://*:$HGPORT2/ (bound to *$LOCALIP*:$HGPORT2) (glob) (?)
Yuya Nishihara
hgweb: load server settings from --web-conf (issue4699)...
r27184 $ 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 Harbison
hgwebdir: add support for explicit index files...
r31482 $ killdaemons.py
$ cat > paths.conf << EOF
> [paths]
> /dir1/a_repo = $root/a
> /dir1/a_repo/b_repo = $root/b
> /dir1/dir2/index = $root/b
> EOF
$ hg serve -p $HGPORT1 -d --pid-file hg.pid --webdir-conf paths.conf
$ cat hg.pid >> $DAEMON_PIDS
$ echo 'index file' > $root/a/index
$ hg --cwd $root/a ci -Am 'add index file'
adding index
$ get-with-headers.py localhost:$HGPORT1 '' | grep 'a_repo'
<td><a href="/dir1/a_repo/">dir1/a_repo</a></td>
<a href="/dir1/a_repo/atom-log" title="subscribe to repository atom feed">
<td><a href="/dir1/a_repo/b_repo/">dir1/a_repo/b_repo</a></td>
<a href="/dir1/a_repo/b_repo/atom-log" title="subscribe to repository atom feed">
$ get-with-headers.py localhost:$HGPORT1 'index' | grep 'a_repo'
<td><a href="/dir1/a_repo/">dir1/a_repo</a></td>
<a href="/dir1/a_repo/atom-log" title="subscribe to repository atom feed">
<td><a href="/dir1/a_repo/b_repo/">dir1/a_repo/b_repo</a></td>
<a href="/dir1/a_repo/b_repo/atom-log" title="subscribe to repository atom feed">
$ get-with-headers.py localhost:$HGPORT1 'dir1' | grep 'a_repo'
<td><a href="/dir1/a_repo/">a_repo</a></td>
<a href="/dir1/a_repo/atom-log" title="subscribe to repository atom feed">
<td><a href="/dir1/a_repo/b_repo/">a_repo/b_repo</a></td>
<a href="/dir1/a_repo/b_repo/atom-log" title="subscribe to repository atom feed">
$ get-with-headers.py localhost:$HGPORT1 'dir1/index' | grep 'a_repo'
<td><a href="/dir1/a_repo/">a_repo</a></td>
<a href="/dir1/a_repo/atom-log" title="subscribe to repository atom feed">
<td><a href="/dir1/a_repo/b_repo/">a_repo/b_repo</a></td>
<a href="/dir1/a_repo/b_repo/atom-log" title="subscribe to repository atom feed">
$ get-with-headers.py localhost:$HGPORT1 'dir1/a_repo' | grep 'a_repo'
<link rel="icon" href="/dir1/a_repo/static/hgicon.png" type="image/png" />
<link rel="stylesheet" href="/dir1/a_repo/static/style-paper.css" type="text/css" />
<script type="text/javascript" src="/dir1/a_repo/static/mercurial.js"></script>
<title>dir1/a_repo: log</title>
href="/dir1/a_repo/atom-log" title="Atom feed for dir1/a_repo" />
href="/dir1/a_repo/rss-log" title="RSS feed for dir1/a_repo" />
<img src="/dir1/a_repo/static/hglogo.png" alt="mercurial" /></a>
<li><a href="/dir1/a_repo/graph/tip">graph</a></li>
<li><a href="/dir1/a_repo/tags">tags</a></li>
<li><a href="/dir1/a_repo/bookmarks">bookmarks</a></li>
<li><a href="/dir1/a_repo/branches">branches</a></li>
<li><a href="/dir1/a_repo/rev/tip">changeset</a></li>
<li><a href="/dir1/a_repo/file/tip">browse</a></li>
<li><a href="/dir1/a_repo/help">help</a></li>
<a href="/dir1/a_repo/atom-log" title="subscribe to atom feed">
<img class="atom-logo" src="/dir1/a_repo/static/feed-icon-14x14.png" alt="atom feed" />
<h2 class="breadcrumb"><a href="/">Mercurial</a> &gt; <a href="/dir1">dir1</a> &gt; <a href="/dir1/a_repo">a_repo</a> </h2>
<form class="search" action="/dir1/a_repo/log">
number or hash, or <a href="/dir1/a_repo/help/revsets">revset expression</a>.</div>
<a href="/dir1/a_repo/shortlog/tip?revcount=30">less</a>
<a href="/dir1/a_repo/shortlog/tip?revcount=120">more</a>
| rev 1: <a href="/dir1/a_repo/shortlog/8580ff50825a">(0)</a> <a href="/dir1/a_repo/shortlog/tip">tip</a>
<a href="/dir1/a_repo/rev/71a89161f014">add index file</a>
<a href="/dir1/a_repo/rev/8580ff50825a">a</a>
<a href="/dir1/a_repo/shortlog/tip?revcount=30">less</a>
<a href="/dir1/a_repo/shortlog/tip?revcount=120">more</a>
| rev 1: <a href="/dir1/a_repo/shortlog/8580ff50825a">(0)</a> <a href="/dir1/a_repo/shortlog/tip">tip</a>
'/dir1/a_repo/shortlog/%next%',
$ get-with-headers.py localhost:$HGPORT1 'dir1/a_repo/index' | grep 'a_repo'
<h2 class="breadcrumb"><a href="/">Mercurial</a> &gt; <a href="/dir1">dir1</a> &gt; <a href="/dir1/a_repo">a_repo</a> </h2>
<td><a href="/dir1/a_repo/b_repo/">b_repo</a></td>
<a href="/dir1/a_repo/b_repo/atom-log" title="subscribe to repository atom feed">
Files named 'index' are not blocked
$ get-with-headers.py localhost:$HGPORT1 'dir1/a_repo/raw-file/tip/index'
200 Script output follows
index file
Repos named 'index' take precedence over the index file
$ get-with-headers.py localhost:$HGPORT1 'dir1/dir2/index' | grep 'index'
<link rel="icon" href="/dir1/dir2/index/static/hgicon.png" type="image/png" />
<meta name="robots" content="index, nofollow" />
<link rel="stylesheet" href="/dir1/dir2/index/static/style-paper.css" type="text/css" />
<script type="text/javascript" src="/dir1/dir2/index/static/mercurial.js"></script>
<title>dir1/dir2/index: log</title>
href="/dir1/dir2/index/atom-log" title="Atom feed for dir1/dir2/index" />
href="/dir1/dir2/index/rss-log" title="RSS feed for dir1/dir2/index" />
<img src="/dir1/dir2/index/static/hglogo.png" alt="mercurial" /></a>
<li><a href="/dir1/dir2/index/graph/tip">graph</a></li>
<li><a href="/dir1/dir2/index/tags">tags</a></li>
<li><a href="/dir1/dir2/index/bookmarks">bookmarks</a></li>
<li><a href="/dir1/dir2/index/branches">branches</a></li>
<li><a href="/dir1/dir2/index/rev/tip">changeset</a></li>
<li><a href="/dir1/dir2/index/file/tip">browse</a></li>
<li><a href="/dir1/dir2/index/help">help</a></li>
<a href="/dir1/dir2/index/atom-log" title="subscribe to atom feed">
<img class="atom-logo" src="/dir1/dir2/index/static/feed-icon-14x14.png" alt="atom feed" />
<h2 class="breadcrumb"><a href="/">Mercurial</a> &gt; <a href="/dir1">dir1</a> &gt; <a href="/dir1/dir2">dir2</a> &gt; <a href="/dir1/dir2/index">index</a> </h2>
<form class="search" action="/dir1/dir2/index/log">
number or hash, or <a href="/dir1/dir2/index/help/revsets">revset expression</a>.</div>
<a href="/dir1/dir2/index/shortlog/tip?revcount=30">less</a>
<a href="/dir1/dir2/index/shortlog/tip?revcount=120">more</a>
| rev 0: <a href="/dir1/dir2/index/shortlog/39505516671b">(0)</a> <a href="/dir1/dir2/index/shortlog/tip">tip</a>
<a href="/dir1/dir2/index/rev/39505516671b">b</a>
<a href="/dir1/dir2/index/shortlog/tip?revcount=30">less</a>
<a href="/dir1/dir2/index/shortlog/tip?revcount=120">more</a>
| rev 0: <a href="/dir1/dir2/index/shortlog/39505516671b">(0)</a> <a href="/dir1/dir2/index/shortlog/tip">tip</a>
'/dir1/dir2/index/shortlog/%next%',
$ killdaemons.py
Gregory Szorc
hgweb: make refresh interval configurable...
r26072
Matt Harbison
hgwebdir: allow a repository to be hosted at "/"...
r32004 $ cat > paths.conf << EOF
> [paths]
> / = $root/a
> EOF
$ hg serve -p $HGPORT1 -d --pid-file hg.pid --webdir-conf paths.conf
$ cat hg.pid >> $DAEMON_PIDS
$ hg id http://localhost:$HGPORT1
71a89161f014
$ get-with-headers.py localhost:$HGPORT1 '' | grep 'index'
<meta name="robots" content="index, nofollow" />
<a href="/rev/71a89161f014">add index file</a>
$ killdaemons.py
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