setup: fail if we cannot determine the version number
If running hg fails, exit the setup script unsuccessfully, rather than
proceeding to use a bogus version of "+0-". Using an invalid version number
causes various tests to fail later. Failing early makes it easier to identify
the source of the problem.
It is currently easy for setup.py to fail this way since it sets HGRCPTH to the
empty string before running "hg", which may often disable extensions necessary
to interact with the local repository.
running: init test1
result: None
running: add foo
result: 0
running: commit -m commit1 -d 2000-01-01 foo
result: None
running: commit -m commit2 -d 2000-01-02 foo
result: None
running: log -r 0
changeset: 0:0e4634943879
user: test
date: Sat Jan 01 00:00:00 2000 +0000
summary: commit1
result: None
running: log -r tip
changeset: 1:45589e459b2e
tag: tip
user: test
date: Sun Jan 02 00:00:00 2000 +0000
summary: commit2
result: None