prepush: add more precise error messages
Part of the patch is from timeless@mozdev.org
- indicate the branch name where there are multiple heads
- give better advice when hitting a possible race, where new heads are added
between discovery and the call to branchmap(). In that case, asking the user
to merge isn't helpful, since only remote has the changes.
#!/bin/sh
# basic test for hg debugrebuildstate
hg init repo
cd repo
touch foo bar
hg ci -Am 'add foo bar'
touch baz
hg add baz
hg rm bar
hg debugrebuildstate
echo '% state dump after'
hg debugstate --nodates | sort
echo '% status'
hg st -A