Fix how setup.py identifies the Mercurial version.
There is a problem with setup.py where it will not identify the Mercurial
version properly when not being ran in within a repository even if
mercurial/__version__.py exists.
To fix, use mercurial.__version__.version when available before defaulting
to "unknown". (Using mercurial.util.version() is not an option due to a
dependency issue where osutil can be referenced before it is built.)
#!/bin/sh
rm -rf a
hg init a
cd a
echo foo > foo
hg ci -qAm0
chmod +x foo
hg ci -m1
hg co -q 0
echo dirty > foo
sleep 1
hg up -q
cat foo
hg st -A
echo '% validate update of standalone execute bit change'
hg up -C 0
chmod -x foo
hg ci -m removeexec
hg up -C 0
hg up
hg st