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
hg init dir
cd dir
echo bleh > bar
hg add bar
hg ci -m 'add bar'
hg cp bar foo
echo >> bar
hg ci -m 'cp bar foo; change bar'
hg debugrename foo
hg debugindex .hg/store/data/bar.i