Fix handling of paths when run outside the repo.
The main problem was that dirstate.getcwd() returned just "",
which was interpreted as "we're at the repo root". It now returns
an absolute path.
The util.pathto function was also changed to deal with the "cwd is
an absolute path" case.
#!/bin/sh
hg init test
cd test
cat >sometext.txt <<ENDSOME
This is just some random text
that will go inside the file and take a few lines.
It is very boring to read, but computers don't
care about things like that.
ENDSOME
hg add sometext.txt
hg commit -d "1 0" -m "Just some text"
hg serve -p 20059 -A access.log -E error.log -d --pid-file=hg.pid
cat hg.pid >> $DAEMON_PIDS
("$TESTDIR/get-with-headers.py" localhost:20059 '/?f=f165dc289438;file=sometext.txt;style=raw' content-type content-length content-disposition) >getoutput.txt &
sleep 5
kill `cat hg.pid`
sleep 1 # wait for server to scream and die
cat getoutput.txt
cat access.log error.log | \
sed 's/^[^ ]*\( [^[]*\[\)[^]]*\(\].*\)$/host\1date\2/'