tests/test-static-http
author Matt Mackall <mpm@selenic.com>
Mon, 25 Sep 2006 16:45:31 -0500
changeset 3153 c82ea81d6850
parent 2673 109a22f5434a
child 3428 7012c889e8f2
permissions -rwxr-xr-x
Add core copy detection algorithm This adds findcopies, which detects merge-relevant copies between files in a pair of manifests back to the merge ancestor. While the merge code invokes the copy detection routine, it does not yet use the result.

#!/bin/sh

http_proxy= hg clone static-http://localhost:20059/ copy
echo $?
ls copy 2>/dev/null || 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, signal

def run(server_class=BaseHTTPServer.HTTPServer,
        handler_class=SimpleHTTPServer.SimpleHTTPRequestHandler):
    server_address = ('localhost', 20059)
    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:20059/remote local

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 = echo changegroup: u=$HG_URL' >> .hg/hgrc
http_proxy= hg pull

kill $!