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
echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
cat > $HGTMP/false <<EOF
#!/bin/sh
exit 1
EOF
chmod +x $HGTMP/false
hg init foo
cd foo
echo foo > foo
hg add foo
# mq may keep a reference to the repository so __del__ will not be called
# and .hg/journal.dirstate will not be deleted:
HGEDITOR=$HGTMP/false hg ci
HGEDITOR=$HGTMP/false hg ci
exit 0