update: better logic and messages for updates
- complain about attempts to merge with ancestor
- when updating, differentiate between
- crossing named branches with no local changes (jump)
- crossing named branches with local changes (complain)
- nonlinear update on the same named branch, no changes (complain some more)
- nonlinear update on the same named branch, changes (different complaining)
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
removing b
created new head
% should abort
abort: crosses branches (use 'hg merge' or 'hg update -C' to discard changes)
% should succeed
abort: crosses branches (use 'hg merge'or 'hg update -C')