mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
09283d5a0c
* httprangereader: name, __iter__ and close are needed to mimic file object * static-http opener: - disallow write/append modes - add (unused) atomictemp parameter * static-http repo: - root attribute is needed for localrepo.dirstate() - _branch* attributes are required for commitctx and branchmap calls * tags: force repo.opener.__iter__ call earlier to force httprangereader to try to read the cache early, to avoid raising IOError later.
94 lines
2.1 KiB
Bash
Executable File
94 lines
2.1 KiB
Bash
Executable File
#!/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'
|
|
# check for HTTP opener failures when cachefile does not exist
|
|
rm .hg/*.cache
|
|
|
|
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 '% trying clone -r'
|
|
cd ..
|
|
hg clone -r donotexist static-http://localhost:$HGPORT/remote local0 | sed -e "s,:$HGPORT/,:\$HGPORT/,"
|
|
hg clone -r 0 static-http://localhost:$HGPORT/remote local0 | sed -e "s,:$HGPORT/,:\$HGPORT/,"
|
|
|
|
echo '% test with "/" URI (issue 747)'
|
|
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 $!
|