localrepo: refactor prepush logic
Simplifies the prepush check logic and makes it a lot more direct and
comprehensible. Instead of comparing the total local vs. remote head count, it
compares the number of new vs. removed heads.
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
% merge heads
HG_FILE l
HG_MY_ISLINK 1
HG_OTHER_ISLINK 0
HG_BASE_ISLINK 0
merging l
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
% merge working directory
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
HG_FILE l2
HG_MY_ISLINK 1
HG_OTHER_ISLINK 0
HG_BASE_ISLINK 0
merging l2
0 files updated, 1 files merged, 0 files removed, 0 files unresolved