##// END OF EJS Templates
Do not use osutil.c with python 2.4 and Windows (issue1364)...
Do not use osutil.c with python 2.4 and Windows (issue1364) Windows python 2.4 os.stat() reports times including DST offset, while osutil.c reports the correct value, which makes status() systematically compare files content. This bug is fixed in python 2.5. Using osutil.py instead of osutil.c is 4x times slower on large repositories but current code is completely unusable. Given few people are likely to use python 2.4 on Windows this solution was considered a good trade-off compared to more invasive solutions trying to address the offset issue.

File last commit:

r10398:ace3cf2b default
r10521:bde1bb25 stable
Show More
test-static-http
87 lines | 1.8 KiB | text/plain | TextLexer
#!/bin/sh
cp "$TESTDIR"/printenv.py .
hg clone 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 ..
hg clone static-http://localhost:$HGPORT/remote local | sed -e "s,:$HGPORT/,:\$HGPORT/,"
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
hg pull | sed -e "s,:$HGPORT/,:\$HGPORT/,"
echo '% trying to push'
hg update
echo more foo >> bar
hg commit -m"test" -d "100000000 0"
hg push | sed -e "s,:$HGPORT/,:\$HGPORT/,"
echo '% test with "/" URI (issue 747)'
cd ..
hg init
echo a > a
hg add a
hg ci -ma
hg clone static-http://localhost:$HGPORT/ local2 | sed -e "s,:$HGPORT/,:\$HGPORT/,"
cd local2
hg verify
cat a
hg paths | sed -e "s,:$HGPORT/,:\$HGPORT/,"
echo '% test with empty repo (issue965)'
cd ..
hg init remotempty
hg clone static-http://localhost:$HGPORT/remotempty local3 | sed -e "s,:$HGPORT/,:\$HGPORT/,"
cd local3
hg verify
hg paths | sed -e "s,:$HGPORT/,:\$HGPORT/,"
echo '% test with non-repo'
cd ..
mkdir notarepo
hg clone static-http://localhost:$HGPORT/notarepo local3 2>&1 | sed -e "s,:$HGPORT/,:\$HGPORT/,"
kill $!