view tests/test-static-http @ 1822:64df4220b349

copy/rename to a removed destination file When the destination of a copy or rename operation has been marked for removal, we need to restore it before we overwrite it with the new content. This also handles the case of idempotent renames, i.e. hg rename "a" "b" hg rename "b" "a"
author Robin Farine <robin.farine@terminus.org>
date Tue, 28 Feb 2006 23:47:40 -0800
parents 1170fef58071
children 7d83a351a936
line wrap: on
line source

#!/bin/sh

http_proxy= hg clone old-http://localhost:20059/ copy
echo $?
ls copy

# 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 &

mkdir remote
cd remote
hg init
echo foo > bar
hg add bar
hg commit -m"test" -d"0 0"
hg tip

cd ..

http_proxy= hg clone old-http://localhost:20059/remote local

cd local
hg verify
cat bar
http_proxy= hg pull

kill $!