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.
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
% Now b has one revision to be pulled from a
pulling from
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
saving bundle to
adding branch
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
rebase completed
@ 3:L1
|
o 2:R1
|
o 1:C2
|
o 0:C1
% Re-run pull --rebase
pulling from
searching for changes
no changes found
% Invoke pull --rebase and nothing to rebase
pulling from
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files
nothing to rebase
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@ 2
|
% pull --rebase --update should ignore --update
pulling from
searching for changes
no changes found
% pull --rebase doesn't update if nothing has been pulled
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
pulling from
searching for changes
no changes found
o 2
|