tests: use system hg only if changelog or dirstate can't be read
The bundled hg should work flawlessly in most cases. Make it depend on
the external installation only if necessary since we can't control the
whole environment.
This patch doesn't implement the "exit 80" idea proposed by Jun. I don't
want to keep the capability checking sync with the actual tests.
fixbundle() {
grep -v 'saving bundle' | grep -v 'saved backup' | \
grep -v added | grep -v adding | \
grep -v "unable to find 'e' for patching" | \
grep -v "e: No such file or directory" | \
cat
}