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
hg init a
cd a
hg init b
echo x > b/x
echo '# should print nothing'
hg add b
hg st
echo '# should fail'
hg st b/x
hg add b/x
echo '# should fail'
hg add b b/x
hg st
echo '# should arguably print nothing'
hg st b
echo a > a
hg ci -Ama a
echo '# should fail'
hg mv a b
hg st