##// END OF EJS Templates
rebase: allow rebase to ancestor (issue3010)...
rebase: allow rebase to ancestor (issue3010) We only deny rebasing onto direct parent. Thanks to the ancestor argument of merge. the "implementation" of this feature only consist in loosing the check and imply detach when rebasing on ancestor.

File last commit:

r15132:81f76098 default
r15132:81f76098 default
Show More
test-rebase-parameters.t
389 lines | 5.2 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-parameters.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: change test-rebase-parameters to use bundle/rebase.hg
r14122 $ hg unbundle $TESTDIR/bundles/rebase.hg
adding changesets
adding manifests
adding file changes
added 8 changesets with 7 changes to 7 files (+2 heads)
(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
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 $ echo I > I
$ hg ci -AmI
adding I
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 @ 8: 'I'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 7: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 6: 'G'
|/|
o | 5: 'F'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 4: 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 3: 'D'
| |
| o 2: 'C'
| |
| o 1: 'B'
|/
o 0: 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
These fail:
$ hg clone -q -u . a a1
$ cd a1
Nicolas Dumazet
tests: move testcase from rebase-named-branches to rebase-parameters...
r14123 $ hg rebase -s 8 -d 7
Pierre-Yves David
rebase: allow rebase to ancestor (issue3010)...
r15132 abort: source is a child of destination
Nicolas Dumazet
tests: move testcase from rebase-named-branches to rebase-parameters...
r14123 [255]
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ hg rebase --continue --abort
abort: cannot use both abort and continue
[255]
$ hg rebase --continue --collapse
abort: cannot use collapse with continue or abort
[255]
$ hg rebase --continue --dest 4
abort: abort and continue do not allow specifying revisions
[255]
$ hg rebase --base 5 --source 4
abort: cannot specify both a revision and a base
[255]
$ hg rebase
nothing to rebase
[1]
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 $ hg up -q 7
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg rebase
nothing to rebase
[1]
These work:
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 Rebase with no arguments (from 3 onto 8):
Adrian Buehlmann
tests: unify test-rebase*
r12608
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 $ hg up -q -C 3
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg rebase
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: change test-rebase-parameters to use bundle/rebase.hg
r14122 @ 8: 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 7: 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 6: 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 5: 'I'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 4: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 3: 'G'
|/|
o | 2: 'F'
| |
| o 1: 'E'
|/
o 0: 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
Try to rollback after a rebase (fail):
$ hg rollback
no rollback information available
[1]
$ cd ..
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 Rebase with base == '.' => same as no arguments (from 3 onto 8):
Adrian Buehlmann
tests: unify test-rebase*
r12608
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 $ hg clone -q -u 3 a a2
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cd a2
$ hg rebase --base .
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: change test-rebase-parameters to use bundle/rebase.hg
r14122 @ 8: 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 7: 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 6: 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 5: 'I'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 4: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 3: 'G'
|/|
o | 2: 'F'
| |
| o 1: 'E'
|/
o 0: 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 Rebase with dest == `hg branch` => same as no arguments (from 3 onto 8):
Adrian Buehlmann
tests: unify test-rebase*
r12608
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 $ hg clone -q -u 3 a a3
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cd a3
$ hg rebase --dest `hg branch`
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: change test-rebase-parameters to use bundle/rebase.hg
r14122 @ 8: 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 7: 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 6: 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 5: 'I'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 4: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 3: 'G'
|/|
o | 2: 'F'
| |
| o 1: 'E'
|/
o 0: 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 Specify only source (from 2 onto 8):
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a4
$ cd a4
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 $ hg rebase --source 2
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: change test-rebase-parameters to use bundle/rebase.hg
r14122 @ 8: 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 7: 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |\
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 6: 'I'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 5: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | | o 4: 'G'
| |/|
| o | 3: 'F'
| | |
| | o 2: 'E'
| |/
o | 1: 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 0: 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Specify only dest (from 3 onto 6):
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 $ hg clone -q -u 3 a a5
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cd a5
$ hg rebase --dest 6
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: change test-rebase-parameters to use bundle/rebase.hg
r14122 @ 8: 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 7: 'C'
|
o 6: 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 5: 'I'
| |
| o 4: 'H'
| |
o | 3: 'G'
|\|
| o 2: 'F'
| |
o | 1: 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 0: 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 Specify only base (from 1 onto 8):
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a6
$ cd a6
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 $ hg rebase --base 3
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: change test-rebase-parameters to use bundle/rebase.hg
r14122 @ 8: 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 7: 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 6: 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 5: 'I'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 4: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 3: 'G'
|/|
o | 2: 'F'
| |
| o 1: 'E'
|/
o 0: 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 Specify source and dest (from 2 onto 7):
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a7
$ cd a7
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 $ hg rebase --detach --source 2 --dest 7
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a7/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 @ 8: 'D'
|
o 7: 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 6: 'I'
|/
o 5: 'H'
|
| o 4: 'G'
|/|
o | 3: 'F'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 2: 'E'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 1: 'B'
|/
o 0: 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 Specify base and dest (from 1 onto 7):
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg clone -q -u . a a8
$ cd a8
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 $ hg rebase --base 3 --dest 7
Mads Kiilerich
tests: remove redundant globs...
r12640 saved backup bundle to $TESTTMP/a8/.hg/strip-backup/*-backup.hg (glob)
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ hg tglog
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 @ 8: 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 7: 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 6: 'B'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 5: 'I'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |/
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 o 4: 'H'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 | o 3: 'G'
|/|
o | 2: 'F'
| |
| o 1: 'E'
|/
o 0: 'A'
Adrian Buehlmann
tests: unify test-rebase*
r12608
$ cd ..
Stefano Tortarolo
rebase: add --tool argument for specifying merge tool
r13856 Test --tool parameter:
$ hg init b
$ cd b
$ echo c1 > c1
$ hg ci -Am c1
adding c1
$ echo c2 > c2
$ hg ci -Am c2
adding c2
$ hg up -q 0
$ echo c2b > c2
$ hg ci -Am c2b
adding c2
created new head
$ cd ..
$ hg clone -q -u . b b1
$ cd b1
$ hg rebase -s 2 -d 1 --tool internal:local
saved backup bundle to $TESTTMP/b1/.hg/strip-backup/*-backup.hg (glob)
$ hg cat c2
c2
$ cd ..
$ hg clone -q -u . b b2
$ cd b2
$ hg rebase -s 2 -d 1 --tool internal:other
saved backup bundle to $TESTTMP/b2/.hg/strip-backup/*-backup.hg (glob)
$ hg cat c2
c2b
$ cd ..
$ hg clone -q -u . b b3
$ cd b3
$ hg rebase -s 2 -d 1 --tool internal:fail
abort: unresolved conflicts (see hg resolve, then hg rebase --continue)
[255]
$ hg resolve -l
U c2
$ hg resolve -m c2
$ hg rebase -c --tool internal:fail
tool option will be ignored
saved backup bundle to $TESTTMP/b3/.hg/strip-backup/*-backup.hg (glob)