Make hgweb.staticfile() more secure and portable.
Without this, files in directories next to the static directory starting
with 'static' could be retrieved, e.g. with '../static.private/foo'.
Additionally staticfile now generates platform specific pathnames from
the /-separated paths given in the URL.
Illegal file names (e.g. containing %00) now yield a sane error message.
#!/bin/sh
mkdir t
cd t
hg init
echo This is file a1 > a
echo This is file b1 > b
hg add a b
hg commit -m "commit #0" -d "0 0"
echo This is file b22 > b
hg commit -m"comment #1" -d "0 0"
hg update 0
rm b
hg commit -A -m"comment #2" -d "0 0"
# in theory, we shouldn't need the "yes k" below, but it prevents
# this test from hanging when "hg update" erroneously prompts the
# user for "keep or delete"
yes k | hg update 1
# we exit with 0 to avoid the unavoidable SIGPIPE from above causing
# us to fail this test
exit 0