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 repo
cd repo
echo a > a
hg ci -qAm 'add a'
echo b > b
hg ci -qAm 'add b'
hg up -qC 0
hg rm a
hg ci -m 'rm a'
hg up -qC 1
rm a
echo '% local deleted a file, remote removed'
hg merge # should fail, since there are deleted files
hg -v merge --force
echo % should show a as removed
hg st
hg ci -m merge
echo % manifest. should not have a:
hg manifest