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.
adding a
adding b
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
created new head
% Rename is tracked
2:rename A
diff --git a/a b/a-renamed
rename from a
rename to a-renamed
% Rebase the revision containing the rename
saving bundle to
% Rename is not lost
2:rename A
diff --git a/a b/a-renamed
rename from a
rename to a-renamed
adding a
adding b
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
created new head
% Copy is tracked
2:copy A
diff --git a/a b/a-copied
copy from a
copy to a-copied
% Rebase the revision containing the copy
saving bundle to
% Copy is not lost
2:copy A
diff --git a/a b/a-copied
copy from a
copy to a-copied