view tests/test-rebase-scenario-global.out @ 7007:a6b74fbb5ce0

fetch: added support for named branches Previously, fetch didn't really work when there were multiple named branches in the repository. Now it tries to do the right thing(tm) in all situations.
author Sune Foldager <cryo@cyanite.org>
date Mon, 08 Sep 2008 12:55:46 +0200
parents 808f03f61ebe
children 7b19cda0fa10
line wrap: on
line source

@  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
nothing changed
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)
nothing changed
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
% E onto D - rebase onto an ancestor
abort: cannot rebase a descendant
% D onto E - rebase onto a descendant
abort: cannot rebase an ancestor
% 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