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
echo '[extensions]' >> $HGRCPATH
echo 'hgext.mq =' >> $HGRCPATH
hg init repo
cd repo
echo foo > foo
hg ci -qAm 'add a file'
hg qinit
hg qnew foo
echo foo >> foo
hg qrefresh -m 'append foo'
hg qnew bar
echo bar >> foo
hg qrefresh -m 'append bar'
echo '% try to commit on top of a patch'
echo quux >> foo
hg ci -m 'append quux'
# cheat a bit...
mv .hg/patches .hg/patches2
hg ci -m 'append quux'
mv .hg/patches2 .hg/patches
echo '% qpop/qrefresh on the wrong revision'
hg qpop
hg qpop -n patches 2>&1 | sed -e 's/\(using patch queue:\).*/\1/'
hg qrefresh
hg up -C qtip
echo '% qpop'
hg qpop
echo '% qrefresh'
hg qrefresh
echo '% tip:'
hg tip --template '#rev# #desc#\n'