Mercurial > hg
view tests/test-static-http @ 7178:98b6c3dde237
Fix Debian bug #494889 (fetching from static-http://... broken)
Changeset 6605a03cbf87 which fixed issue965 (hg clone static-http
does not work for empty repos) broke cloning of repos with old layout
(without store) via static-http.
This fix makes cloning from old-style repositories possible again,
but will not allow cloning of empty old-style repositories as this
can not be detected reliably.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Sun, 19 Oct 2008 19:49:56 +0200 |
parents | 6605a03cbf87 |
children | 7739b61897df |
line wrap: on
line source
#!/bin/sh cp "$TESTDIR"/printenv.py . http_proxy= hg clone static-http://localhost:$HGPORT/ copy echo $? test -d copy || echo copy: No such file or directory # This server doesn't do range requests so it's basically only good for # one pull cat > dumb.py <<EOF import BaseHTTPServer, SimpleHTTPServer, os, signal def run(server_class=BaseHTTPServer.HTTPServer, handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler): server_address = ('localhost', int(os.environ['HGPORT'])) httpd = server_class(server_address, handler_class) httpd.serve_forever() signal.signal(signal.SIGTERM, lambda x: sys.exit(0)) run() EOF python dumb.py 2>/dev/null & echo $! >> $DAEMON_PIDS mkdir remote cd remote hg init echo foo > bar hg add bar hg commit -m"test" -d "1000000 0" hg tip cd .. http_proxy= hg clone static-http://localhost:$HGPORT/remote local | sed -e 's,:[0-9][0-9]*/,/,' cd local hg verify cat bar cd ../remote echo baz > quux hg commit -A -mtest2 -d '100000000 0' cd ../local echo '[hooks]' >> .hg/hgrc echo 'changegroup = python ../printenv.py changegroup' >> .hg/hgrc http_proxy= hg pull | sed -e 's,:[0-9][0-9]*/,/,' echo '% test with "/" URI (issue 747)' cd .. hg init echo a > a hg add a hg ci -ma http_proxy= hg clone static-http://localhost:$HGPORT/ local2 | sed -e 's,:[0-9][0-9]*/,/,' cd local2 hg verify cat a hg paths | sed -e 's,:[0-9][0-9]*/,/,' echo '% test with empty repo (issue965)' cd .. hg init remotempty http_proxy= hg clone static-http://localhost:$HGPORT/remotempty local3 | sed -e 's,:[0-9][0-9]*/,/,' cd local3 hg verify hg paths | sed -e 's,:[0-9][0-9]*/,/,' echo '% test with non-repo' cd .. mkdir notarepo http_proxy= hg clone static-http://localhost:$HGPORT/notarepo local3 2>&1 | sed -e 's,:[0-9][0-9]*/,/,' kill $!