##// END OF EJS Templates
rebase: use revset as soon as possible in internal logic...
rebase: use revset as soon as possible in internal logic The buildstate function now take a set of revs. Logic related to --source and --base option have been moved in the main rebase function. In the process this fixes a bug where the wrong source changeset might be pick. This explain the changes in hgext/rebase.py

File last commit:

r15267:3bfdfefe default
r15267:3bfdfefe default
Show More
test-rebase-scenario-global.t
272 lines | 3.7 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-scenario-global.t
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cat >> $HGRCPATH <<EOF
> [extensions]
> graphlog=
> rebase=
>
> [alias]
> tglog = log -G --template "{rev}: '{desc}' {branches}\n"
> EOF
$ hg init a
$ cd a
Nicolas Dumazet
tests: introduce a rebase bundle to use with rebase tests...
r14118 $ hg unbundle $TESTDIR/bundles/rebase.hg
adding changesets
adding manifests
adding file changes
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 added 8 changesets with 7 changes to 7 files (+2 heads)
Nicolas Dumazet
tests: introduce a rebase bundle to use with rebase tests...
r14118 (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg up tip
3 files updated, 0 files merged, 0 files removed, 0 files unresolved
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cd ..
Rebasing
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 D onto H - simple rebase:
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a1
$ cd a1
$ hg tglog
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 @ 7: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | o 6: 'G'
|/|
o | 5: 'F'
| |
Adrian Buehlmann
tests: unify test-rebase*
r12608 | o 4: 'E'
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 |/
| o 3: 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
| o 2: 'C'
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | |
Adrian Buehlmann
tests: unify test-rebase*
r12608 | o 1: 'B'
|/
o 0: 'A'
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119
$ hg rebase -s 3 -d 7
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a1/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 @ 7: 'D'
|\
| o 6: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | | o 5: 'G'
| |/|
| o | 4: 'F'
| | |
| | o 3: 'E'
| |/
o | 2: 'C'
| |
o | 1: 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
o 0: 'A'
$ cd ..
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 D onto F - intermediate point:
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a2
$ cd a2
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 $ hg rebase -s 3 -d 5
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a2/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 @ 7: 'D'
|\
| | o 6: 'H'
| |/
| | o 5: 'G'
| |/|
| o | 4: 'F'
| | |
| | o 3: 'E'
| |/
o | 2: 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 o | 1: 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
o 0: 'A'
$ cd ..
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 E onto H - skip of G:
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a3
$ cd a3
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 $ hg rebase -s 4 -d 7
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a3/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 @ 6: 'E'
|
o 5: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 o 4: 'F'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | o 3: 'D'
| |
| o 2: 'C'
| |
Adrian Buehlmann
tests: unify test-rebase*
r12608 | o 1: 'B'
|/
o 0: 'A'
$ cd ..
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 F onto E - rebase of a branching point (skip G):
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a4
$ cd a4
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 $ hg rebase -s 5 -d 4
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a4/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 @ 6: 'H'
|
o 5: 'F'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 o 4: 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | o 3: 'D'
| |
| o 2: 'C'
| |
Adrian Buehlmann
tests: unify test-rebase*
r12608 | o 1: 'B'
|/
o 0: 'A'
$ cd ..
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 G onto H - merged revision having a parent in ancestors of target:
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a5
$ cd a5
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 $ hg rebase -s 6 -d 7
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a5/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 @ 7: 'G'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |\
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | o 6: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | o 5: 'F'
| |
o | 4: 'E'
|/
Adrian Buehlmann
tests: unify test-rebase*
r12608 | o 3: 'D'
| |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | o 2: 'C'
| |
Adrian Buehlmann
tests: unify test-rebase*
r12608 | o 1: 'B'
|/
o 0: 'A'
$ cd ..
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 F onto B - G maintains E as parent:
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a6
$ cd a6
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 $ hg rebase -s 5 -d 1
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a6/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 @ 7: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | o 6: 'G'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/|
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 o | 5: 'F'
| |
| o 4: 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 | | o 3: 'D'
| | |
+---o 2: 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
o | 1: 'B'
|/
o 0: 'A'
$ cd ..
These will fail (using --source):
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 G onto F - rebase onto an ancestor:
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a7
$ cd a7
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 $ hg rebase -s 6 -d 5
Pierre-Yves David
rebase: use revset as soon as possible in internal logic...
r15267 nothing to rebase
[1]
Adrian Buehlmann
tests: unify test-rebase*
r12608
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 F onto G - rebase onto a descendant:
Adrian Buehlmann
tests: unify test-rebase*
r12608
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 $ hg rebase -s 5 -d 6
Adrian Buehlmann
tests: unify test-rebase*
r12608 abort: source is ancestor of destination
[255]
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 G onto B - merge revision with both parents not in ancestors of target:
Adrian Buehlmann
tests: unify test-rebase*
r12608
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 $ hg rebase -s 6 -d 1
abort: cannot use revision 6 as base, result would have 3 parents
Adrian Buehlmann
tests: unify test-rebase*
r12608 [255]
These will abort gracefully (using --base):
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 G onto G - rebase onto same changeset:
Adrian Buehlmann
tests: unify test-rebase*
r12608
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 $ hg rebase -b 6 -d 6
Adrian Buehlmann
tests: unify test-rebase*
r12608 nothing to rebase
[1]
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 G onto F - rebase onto an ancestor:
Adrian Buehlmann
tests: unify test-rebase*
r12608
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 $ hg rebase -b 6 -d 5
Adrian Buehlmann
tests: unify test-rebase*
r12608 nothing to rebase
[1]
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 F onto G - rebase onto a descendant:
Adrian Buehlmann
tests: unify test-rebase*
r12608
Nicolas Dumazet
tests: upgrade bundles/rebase.hg to support test-rebase-collapse...
r14119 $ hg rebase -b 5 -d 6
Adrian Buehlmann
tests: unify test-rebase*
r12608 nothing to rebase
[1]
Pierre-Yves David
rebase: allow rebase to ancestor (issue3010)...
r15132 C onto A - rebase onto an ancestor:
$ hg rebase -d 0 -s 2
saved backup bundle to $TESTTMP/a7/.hg/strip-backup/5fddd98957c8-backup.hg
$ hg tglog
@ 7: 'D'
|
o 6: 'C'
|
| o 5: 'H'
| |
| | o 4: 'G'
| |/|
| o | 3: 'F'
|/ /
| o 2: 'E'
|/
| o 1: 'B'
|/
o 0: 'A'