view tests/test-static-http @ 5390:36c46e20976a

merge: provide *_ISLINK environment vars to merge helper Sets HG_MY_ISLINK, HG_OTHER_ISLINK, HG_BASE_ISLINK in environment. Without these variables, it's impossible for the merge application to know whether the 'other' and 'base' files were symlinks in their original contexts. For the purposes of the merge they are always emitted as small text files.
author Patrick Mezard <pmezard@gmail.com>
date Wed, 03 Oct 2007 23:09:36 +0200
parents e3a0c092b4e2
children
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]*/,/,'

kill $!