|
|
@ 5: F
|
|
|
|
|
|
|
| o 4: E
|
|
|
|/|
|
|
|
o | 3: D
|
|
|
| |
|
|
|
| o 2: C
|
|
|
|/
|
|
|
| o 1: B
|
|
|
|/
|
|
|
o 0: A
|
|
|
|
|
|
% Rebasing
|
|
|
% B onto F - simple rebase
|
|
|
saving bundle to
|
|
|
adding branch
|
|
|
adding changesets
|
|
|
adding manifests
|
|
|
adding file changes
|
|
|
added 5 changesets with 4 changes to 4 files (+1 heads)
|
|
|
rebase completed
|
|
|
@ 5: B
|
|
|
|
|
|
|
o 4: F
|
|
|
|
|
|
|
| o 3: E
|
|
|
|/|
|
|
|
o | 2: D
|
|
|
| |
|
|
|
| o 1: C
|
|
|
|/
|
|
|
o 0: A
|
|
|
|
|
|
% B onto D - intermediate point
|
|
|
saving bundle to
|
|
|
adding branch
|
|
|
adding changesets
|
|
|
adding manifests
|
|
|
adding file changes
|
|
|
added 5 changesets with 4 changes to 4 files (+2 heads)
|
|
|
rebase completed
|
|
|
@ 5: B
|
|
|
|
|
|
|
| o 4: F
|
|
|
|/
|
|
|
| o 3: E
|
|
|
|/|
|
|
|
o | 2: D
|
|
|
| |
|
|
|
| o 1: C
|
|
|
|/
|
|
|
o 0: A
|
|
|
|
|
|
% C onto F - skip of E
|
|
|
saving bundle to
|
|
|
adding branch
|
|
|
adding changesets
|
|
|
adding manifests
|
|
|
adding file changes
|
|
|
added 3 changesets with 3 changes to 3 files (+1 heads)
|
|
|
rebase completed
|
|
|
@ 4: C
|
|
|
|
|
|
|
o 3: F
|
|
|
|
|
|
|
o 2: D
|
|
|
|
|
|
|
| o 1: B
|
|
|
|/
|
|
|
o 0: A
|
|
|
|
|
|
% D onto C - rebase of a branching point (skip E)
|
|
|
saving bundle to
|
|
|
adding branch
|
|
|
adding changesets
|
|
|
adding manifests
|
|
|
adding file changes
|
|
|
added 2 changesets with 2 changes to 2 files
|
|
|
rebase completed
|
|
|
@ 4: F
|
|
|
|
|
|
|
o 3: D
|
|
|
|
|
|
|
o 2: C
|
|
|
|
|
|
|
| o 1: B
|
|
|
|/
|
|
|
o 0: A
|
|
|
|
|
|
% E onto F - merged revision having a parent in ancestors of target
|
|
|
saving bundle to
|
|
|
adding branch
|
|
|
adding changesets
|
|
|
adding manifests
|
|
|
adding file changes
|
|
|
added 2 changesets with 1 changes to 1 files (-1 heads)
|
|
|
rebase completed
|
|
|
@ 5: E
|
|
|
|\
|
|
|
| o 4: F
|
|
|
| |
|
|
|
| o 3: D
|
|
|
| |
|
|
|
o | 2: C
|
|
|
|/
|
|
|
| o 1: B
|
|
|
|/
|
|
|
o 0: A
|
|
|
|
|
|
% D onto B - E maintains C as parent
|
|
|
saving bundle to
|
|
|
adding branch
|
|
|
adding changesets
|
|
|
adding manifests
|
|
|
adding file changes
|
|
|
added 3 changesets with 2 changes to 2 files
|
|
|
rebase completed
|
|
|
@ 5: F
|
|
|
|
|
|
|
| o 4: E
|
|
|
|/|
|
|
|
o | 3: D
|
|
|
| |
|
|
|
| o 2: C
|
|
|
| |
|
|
|
o | 1: B
|
|
|
|/
|
|
|
o 0: A
|
|
|
|
|
|
% These will fail (using --source)
|
|
|
% E onto D - rebase onto an ancestor
|
|
|
abort: source is descendant of destination
|
|
|
% D onto E - rebase onto a descendant
|
|
|
abort: source is ancestor of destination
|
|
|
% E onto B - merge revision with both parents not in ancestors of target
|
|
|
abort: cannot use revision 4 as base, result would have 3 parents
|
|
|
|
|
|
% These will abort gracefully (using --base)
|
|
|
% E onto E - rebase onto same changeset
|
|
|
nothing to rebase
|
|
|
% E onto D - rebase onto an ancestor
|
|
|
nothing to rebase
|
|
|
% D onto E - rebase onto a descendant
|
|
|
nothing to rebase
|
|
|
|