sapling/tests/test-rebase-scenario-global.out
Sune Foldager ded10074e6 rebase: return early when source is descendant of destination
This only happens when using --base (or no source selection options), as
rebase already aborts in this situation when using --source.

Without this change you get an abort from the underlying merge, and the
repository is in a different state than you started with (the working
dir parent is changed).
2009-10-08 10:39:43 +02:00

145 lines
2.2 KiB
Plaintext

@ 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