##// END OF EJS Templates
rebase: improve error message for --base being empty or causing emptiness...
rebase: improve error message for --base being empty or causing emptiness Before it just said 'nothing to rebase'. Now 'if "base" is an empty set: abort: empty "base" revision set - can't compute rebase set If the set of changesets to rebase can't be found from "base", it will fail as before but with more explanation of what the problem was. The name of the "base" option is not obvious - it is more like "samples identifying the branch to rebase". The error messages for problems with the specified "base" value will use that term and might thus also not be obvious, but at least they are consistent with the option name. The name "base" will not be used if the base only was specified implicitly as the working directory parent.

File last commit:

r20249:dc515784 default
r20249:dc515784 default
Show More
test-rebase-parameters.t
461 lines | 6.6 KiB | text/troff | Tads3Lexer
/ tests / test-rebase-parameters.t
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ cat >> $HGRCPATH <<EOF
> [extensions]
> rebase=
>
Pierre-Yves David
phases: prevent rebase to rebase immutable changeset.
r15742 > [phases]
> publish=False
>
Adrian Buehlmann
tests: unify test-rebase*
r12608 > [alias]
> tglog = log -G --template "{rev}: '{desc}' {branches}\n"
> EOF
$ hg init a
$ cd a
Thomas Arendsen Hein
tests: make tests work if directory contains special characters...
r16350 $ hg unbundle "$TESTDIR/bundles/rebase.hg"
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 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: use revset as soon as possible in internal logic...
r15267 nothing to rebase
[1]
Nicolas Dumazet
tests: move testcase from rebase-named-branches to rebase-parameters...
r14123
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
Pierre-Yves David
rebase: add --rev option to rebase...
r15270 abort: cannot specify both a source and a base
Adrian Buehlmann
tests: unify test-rebase*
r12608 [255]
Patrick Mezard
test-rebase-parameters: more tests for revset/opts...
r16550 $ hg rebase --rev 5 --source 4
abort: cannot specify both a revision and a source
[255]
$ hg rebase --base 5 --rev 4
abort: cannot specify both a revision and a base
[255]
Mads Kiilerich
rebase: improve error message for empty --rev set...
r20247 $ hg rebase --rev '1 & !1'
abort: empty "rev" revision set - nothing to rebase
[255]
Mads Kiilerich
rebase: improve error message for empty --source set...
r20248 $ hg rebase --source '1 & !1'
abort: empty "source" revision set - nothing to rebase
[255]
Mads Kiilerich
rebase: improve error message for --base being empty or causing emptiness...
r20249 $ hg rebase --base '1 & !1'
abort: empty "base" revision set - can't compute rebase set
[255]
Adrian Buehlmann
tests: unify test-rebase*
r12608 $ hg rebase
Mads Kiilerich
rebase: improve error message for --base being empty or causing emptiness...
r20249 nothing to rebase - working directory parent is also destination
[1]
$ hg rebase -b.
nothing to rebase - e7ec4e813ba6 is both "base" and destination
Adrian Buehlmann
tests: unify test-rebase*
r12608 [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
Pierre-Yves David
rebase: use revset as soon as possible in internal logic...
r15267 $ hg rebase --traceback
Mads Kiilerich
rebase: improve error message for --base being empty or causing emptiness...
r20249 nothing to rebase - working directory parent is already an ancestor of destination e7ec4e813ba6
[1]
$ hg rebase -b.
nothing to rebase - "base" 02de42196ebe is already an ancestor of destination e7ec4e813ba6
Adrian Buehlmann
tests: unify test-rebase*
r12608 [1]
Mads Kiilerich
rebase: test for empty dest revision
r20246 $ hg rebase --dest '1 & !1'
abort: empty revision set
[255]
Adrian Buehlmann
tests: unify test-rebase*
r12608
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 ..
Patrick Mezard
rebase: make --dest understand revsets
r16566 Rebase with dest == 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
Patrick Mezard
rebase: make --dest understand revsets
r16566 $ hg rebase --dest '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
Patrick Mezard
test-rebase-parameters: more tests for revset/opts...
r16550 $ hg rebase --source 'desc("C")'
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
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 8: 'D'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 o 7: 'C'
|
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 6: 'I'
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 |
o 5: 'H'
|
| o 4: 'G'
|/|
o | 3: 'F'
Adrian Buehlmann
tests: unify test-rebase*
r12608 | |
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 | 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
Patrick Mezard
test-rebase-parameters: more tests for revset/opts...
r16550 $ hg rebase --base 'desc("D")'
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
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 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 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 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
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 $ hg rebase --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
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 8: 'D'
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 |
o 7: 'C'
Adrian Buehlmann
tests: unify test-rebase*
r12608 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 | @ 6: 'I'
Nicolas Dumazet
tests: change test-rebase-parameters to use bundle/rebase.hg
r14122 |/
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
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 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 |
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 | @ 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 ..
Patrick Mezard
test-rebase-parameters: more tests for revset/opts...
r16550
Specify only revs (from 2 onto 8)
$ hg clone -q -u . a a9
$ cd a9
$ hg rebase --rev 'desc("C")::'
saved backup bundle to $TESTTMP/a9/.hg/strip-backup/*-backup.hg (glob)
$ hg tglog
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 o 8: 'D'
Patrick Mezard
test-rebase-parameters: more tests for revset/opts...
r16550 |
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 o 7: 'C'
|
Pierre-Yves David
rebase: preserve working directory parent (BC)...
r19925 @ 6: 'I'
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 |
o 5: 'H'
|
| o 4: 'G'
|/|
o | 3: 'F'
Patrick Mezard
test-rebase-parameters: more tests for revset/opts...
r16550 | |
Pierre-Yves David
rebase: do not add second parent to rebased changeset (drop detach option) (BC)...
r17005 | o 2: 'E'
|/
| o 1: 'B'
Patrick Mezard
test-rebase-parameters: more tests for revset/opts...
r16550 |/
o 0: 'A'
$ 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
Augie Fackler
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
r18933 unresolved conflicts (see hg resolve, then hg rebase --continue)
Augie Fackler
dispatch: exit with status 1 for an InterventionRequired exception (bc)
r18935 [1]
Stefano Tortarolo
rebase: add --tool argument for specifying merge tool
r13856
Bryan O'Sullivan
summary: add tests for some extensions we plan to modify
r19213 $ hg summary
parent: 1:56daeba07f4b
c2
parent: 2:e4e3f3546619 tip
c2b
branch: default
commit: 1 modified, 1 unresolved (merge)
update: (current)
Bryan O'Sullivan
summary: indicate if a rebase is underway
r19214 rebase: 0 rebased, 1 remaining (rebase --continue)
Bryan O'Sullivan
summary: add tests for some extensions we plan to modify
r19213
Stefano Tortarolo
rebase: add --tool argument for specifying merge tool
r13856 $ 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)
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..