tests/test-rebase-scenario-global.t
author Martin von Zweigbergk <martinvonz@google.com>
Thu, 14 Sep 2017 11:16:57 -0700
branchstable
changeset 34144 91f0677dc920
parent 34143 b5d7e7d5c573
child 34257 2844c4bd5a39
permissions -rw-r--r--
repair: preserve phase also when not using generaldelta (issue5678) It seems like we used to pick the oldest possible version of the changegroup to use for bundles created by the repair module (used e.g. by "hg strip" and for temporary bundles by "hg rebase"). I tried to preserve that behavior when I created the changegroup.safeversion() method in 3b2ac2115464 (changegroup: introduce safeversion(), 2016-01-19). However, we have recently chagned our minds and decided that these commands are only used locally and downgrades are unlikely. That decicion allowed us to start adding obsmarker and phase information to these bundles. However, as the bug report shows, it means we get different behavior e.g. when generaldelta is not enabled (because when it was enabled, it forced us to use bundle2). The commit that actually caused the reported bug was 8e3021fd1a44 (strip: include phases in bundle (BC), 2017-06-15). So, since we now depend on having more information in the bundles, let's make sure we instead pick the newest possible changegroup version. Differential Revision: https://phab.mercurial-scm.org/D715
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     2
  > [extensions]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     3
  > rebase=
33055
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
     4
  > drawdag=$TESTDIR/drawdag.py
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     5
  > 
15742
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15447
diff changeset
     6
  > [phases]
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15447
diff changeset
     7
  > publish=False
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15447
diff changeset
     8
  > 
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     9
  > [alias]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    10
  > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    11
  > EOF
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    12
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    13
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    14
  $ hg init a
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    15
  $ cd a
16350
4f795f5fbb0b tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents: 15945
diff changeset
    16
  $ hg unbundle "$TESTDIR/bundles/rebase.hg"
14118
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
    17
  adding changesets
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
    18
  adding manifests
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
    19
  adding file changes
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    20
  added 8 changesets with 7 changes to 7 files (+2 heads)
14118
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
    21
  (run 'hg heads' to see heads, 'hg merge' to merge)
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
    22
  $ hg up tip
7fd8e597f99c tests: introduce a rebase bundle to use with rebase tests
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12640
diff changeset
    23
  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    24
  $ cd ..
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    25
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    26
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    27
Rebasing
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    28
D onto H - simple rebase:
28022
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
    29
(this also tests that editor is invoked if '--edit' is specified, and that we
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
    30
can abort or warn for colliding untracked files)
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    31
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    32
  $ hg clone -q -u . a a1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    33
  $ cd a1
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    34
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    35
  $ hg tglog
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    36
  @  7: 'H'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    37
  |
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    38
  | o  6: 'G'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    39
  |/|
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    40
  o |  5: 'F'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    41
  | |
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    42
  | o  4: 'E'
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    43
  |/
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    44
  | o  3: 'D'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    45
  | |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    46
  | o  2: 'C'
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    47
  | |
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    48
  | o  1: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    49
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    50
  o  0: 'A'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    51
  
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    52
21410
5b70ece79ea7 rebase: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
    53
  $ hg status --rev "3^1" --rev 3
5b70ece79ea7 rebase: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
    54
  A D
28022
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
    55
  $ echo collide > D
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
    56
  $ HGEDITOR=cat hg rebase -s 3 -d 7 --edit --config merge.checkunknown=warn
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
    57
  rebasing 3:32af7686d403 "D"
28022
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
    58
  D: replacing untracked file
21410
5b70ece79ea7 rebase: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
    59
  D
5b70ece79ea7 rebase: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
    60
  
5b70ece79ea7 rebase: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
    61
  
5b70ece79ea7 rebase: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
    62
  HG: Enter commit message.  Lines beginning with 'HG:' are removed.
5b70ece79ea7 rebase: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
    63
  HG: Leave message empty to abort commit.
5b70ece79ea7 rebase: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
    64
  HG: --
5b70ece79ea7 rebase: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
    65
  HG: user: Nicolas Dumazet <nicdumz.commits@gmail.com>
5b70ece79ea7 rebase: use "getcommiteditor()" instead of explicit editor choice
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 21024
diff changeset
    66
  HG: branch 'default'
22895
dfa44e25bb53 dirstate: properly clean-up some more merge state on setparents
Matt Mackall <mpm@selenic.com>
parents: 22183
diff changeset
    67
  HG: added D
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
    68
  saved backup bundle to $TESTTMP/a1/.hg/strip-backup/32af7686d403-6f7dface-rebase.hg (glob)
28022
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
    69
  $ cat D.orig
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
    70
  collide
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
    71
  $ rm D.orig
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    72
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    73
  $ hg tglog
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
    74
  o  7: 'D'
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
    75
  |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
    76
  @  6: 'H'
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
    77
  |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
    78
  | o  5: 'G'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
    79
  |/|
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
    80
  o |  4: 'F'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    81
  | |
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
    82
  | o  3: 'E'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
    83
  |/
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
    84
  | o  2: 'C'
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    85
  | |
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
    86
  | o  1: 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    87
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    88
  o  0: 'A'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    89
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    90
  $ cd ..
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    91
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    92
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
    93
D onto F - intermediate point:
28022
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
    94
(this also tests that editor is not invoked if '--edit' is not specified, and
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
    95
that we can ignore for colliding untracked files)
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    96
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    97
  $ hg clone -q -u . a a2
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    98
  $ cd a2
28022
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
    99
  $ echo collide > D
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   100
28022
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
   101
  $ HGEDITOR=cat hg rebase -s 3 -d 5 --config merge.checkunknown=ignore
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   102
  rebasing 3:32af7686d403 "D"
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   103
  saved backup bundle to $TESTTMP/a2/.hg/strip-backup/32af7686d403-6f7dface-rebase.hg (glob)
28022
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
   104
  $ cat D.orig
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
   105
  collide
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
   106
  $ rm D.orig
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   107
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   108
  $ hg tglog
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   109
  o  7: 'D'
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   110
  |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   111
  | @  6: 'H'
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   112
  |/
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   113
  | o  5: 'G'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   114
  |/|
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   115
  o |  4: 'F'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   116
  | |
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   117
  | o  3: 'E'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   118
  |/
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   119
  | o  2: 'C'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   120
  | |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   121
  | o  1: 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   122
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   123
  o  0: 'A'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   124
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   125
  $ cd ..
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   126
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   127
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   128
E onto H - skip of G:
28022
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
   129
(this also tests that we can overwrite untracked files and don't create backups
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
   130
if they have the same contents)
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   131
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   132
  $ hg clone -q -u . a a3
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   133
  $ cd a3
28022
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
   134
  $ hg cat -r 4 E | tee E
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
   135
  E
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   136
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   137
  $ hg rebase -s 4 -d 7
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   138
  rebasing 4:9520eea781bc "E"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   139
  rebasing 6:eea13746799a "G"
23518
2fb0504b8175 rebase: show warning when rebase creates no changes to commit
Mads Kiilerich <madski@unity3d.com>
parents: 23517
diff changeset
   140
  note: rebase of 6:eea13746799a created no changes to commit
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   141
  saved backup bundle to $TESTTMP/a3/.hg/strip-backup/9520eea781bc-fcd8edd4-rebase.hg (glob)
28022
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
   142
  $ f E.orig
e397b58c0563 rebase: respect checkunknown and checkignored in more cases
Siddharth Agarwal <sid0@fb.com>
parents: 26719
diff changeset
   143
  E.orig: file not found
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   144
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   145
  $ hg tglog
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   146
  o  6: 'E'
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   147
  |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   148
  @  5: 'H'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   149
  |
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   150
  o  4: 'F'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   151
  |
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   152
  | o  3: 'D'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   153
  | |
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   154
  | o  2: 'C'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   155
  | |
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   156
  | o  1: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   157
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   158
  o  0: 'A'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   159
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   160
  $ cd ..
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   161
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   162
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   163
F onto E - rebase of a branching point (skip G):
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   164
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   165
  $ hg clone -q -u . a a4
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   166
  $ cd a4
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   167
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   168
  $ hg rebase -s 5 -d 4
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   169
  rebasing 5:24b6387c8c8c "F"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   170
  rebasing 6:eea13746799a "G"
23518
2fb0504b8175 rebase: show warning when rebase creates no changes to commit
Mads Kiilerich <madski@unity3d.com>
parents: 23517
diff changeset
   171
  note: rebase of 6:eea13746799a created no changes to commit
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   172
  rebasing 7:02de42196ebe "H" (tip)
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   173
  saved backup bundle to $TESTTMP/a4/.hg/strip-backup/24b6387c8c8c-c3fe765d-rebase.hg (glob)
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   174
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   175
  $ hg tglog
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   176
  @  6: 'H'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   177
  |
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   178
  o  5: 'F'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   179
  |
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   180
  o  4: 'E'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   181
  |
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   182
  | o  3: 'D'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   183
  | |
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   184
  | o  2: 'C'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   185
  | |
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   186
  | o  1: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   187
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   188
  o  0: 'A'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   189
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   190
  $ cd ..
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   191
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   192
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   193
G onto H - merged revision having a parent in ancestors of target:
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   194
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   195
  $ hg clone -q -u . a a5
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   196
  $ cd a5
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   197
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   198
  $ hg rebase -s 6 -d 7
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   199
  rebasing 6:eea13746799a "G"
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   200
  saved backup bundle to $TESTTMP/a5/.hg/strip-backup/eea13746799a-883828ed-rebase.hg (glob)
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   201
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   202
  $ hg tglog
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   203
  o    7: 'G'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   204
  |\
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   205
  | @  6: 'H'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   206
  | |
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   207
  | o  5: 'F'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   208
  | |
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   209
  o |  4: 'E'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   210
  |/
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   211
  | o  3: 'D'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   212
  | |
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   213
  | o  2: 'C'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   214
  | |
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   215
  | o  1: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   216
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   217
  o  0: 'A'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   218
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   219
  $ cd ..
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   220
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   221
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   222
F onto B - G maintains E as parent:
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   223
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   224
  $ hg clone -q -u . a a6
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   225
  $ cd a6
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   226
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   227
  $ hg rebase -s 5 -d 1
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   228
  rebasing 5:24b6387c8c8c "F"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   229
  rebasing 6:eea13746799a "G"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   230
  rebasing 7:02de42196ebe "H" (tip)
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   231
  saved backup bundle to $TESTTMP/a6/.hg/strip-backup/24b6387c8c8c-c3fe765d-rebase.hg (glob)
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   232
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   233
  $ hg tglog
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   234
  @  7: 'H'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   235
  |
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   236
  | o  6: 'G'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   237
  |/|
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   238
  o |  5: 'F'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   239
  | |
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   240
  | o  4: 'E'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   241
  | |
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   242
  | | o  3: 'D'
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   243
  | | |
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   244
  +---o  2: 'C'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   245
  | |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   246
  o |  1: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   247
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   248
  o  0: 'A'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   249
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   250
  $ cd ..
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   251
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   252
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   253
These will fail (using --source):
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   254
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   255
G onto F - rebase onto an ancestor:
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   256
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   257
  $ hg clone -q -u . a a7
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   258
  $ cd a7
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   259
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   260
  $ hg rebase -s 6 -d 5
15267
3bfdfefea2fc rebase: use revset as soon as possible in internal logic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15132
diff changeset
   261
  nothing to rebase
3bfdfefea2fc rebase: use revset as soon as possible in internal logic
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15132
diff changeset
   262
  [1]
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   263
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   264
F onto G - rebase onto a descendant:
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   265
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   266
  $ hg rebase -s 5 -d 6
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   267
  abort: source is ancestor of destination
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   268
  [255]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   269
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   270
G onto B - merge revision with both parents not in ancestors of target:
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   271
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   272
  $ hg rebase -s 6 -d 1
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   273
  rebasing 6:eea13746799a "G"
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   274
  abort: cannot use revision 6 as base, result would have 3 parents
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   275
  [255]
31225
749b057b01f3 rebase: allow aborting if last-message.txt is missing
Durham Goode <durham@fb.com>
parents: 31143
diff changeset
   276
  $ hg rebase --abort
749b057b01f3 rebase: allow aborting if last-message.txt is missing
Durham Goode <durham@fb.com>
parents: 31143
diff changeset
   277
  rebase aborted
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   278
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   279
These will abort gracefully (using --base):
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   280
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   281
G onto G - rebase onto same changeset:
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   282
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   283
  $ hg rebase -b 6 -d 6
20249
dc5157841361 rebase: improve error message for --base being empty or causing emptiness
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   284
  nothing to rebase - eea13746799a is both "base" and destination
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   285
  [1]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   286
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   287
G onto F - rebase onto an ancestor:
9578
341182ac95e4 rebase: return early when source is descendant of destination
Sune Foldager <cryo@cyanite.org>
parents: 8168
diff changeset
   288
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   289
  $ hg rebase -b 6 -d 5
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   290
  nothing to rebase
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   291
  [1]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   292
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   293
F onto G - rebase onto a descendant:
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   294
14119
624e5ce615ec tests: upgrade bundles/rebase.hg to support test-rebase-collapse
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 14118
diff changeset
   295
  $ hg rebase -b 5 -d 6
20249
dc5157841361 rebase: improve error message for --base being empty or causing emptiness
Mads Kiilerich <madski@unity3d.com>
parents: 20117
diff changeset
   296
  nothing to rebase - "base" 24b6387c8c8c is already an ancestor of destination eea13746799a
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   297
  [1]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   298
15132
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   299
C onto A - rebase onto an ancestor:
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   300
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   301
  $ hg rebase -d 0 -s 2
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   302
  rebasing 2:5fddd98957c8 "C"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   303
  rebasing 3:32af7686d403 "D"
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   304
  saved backup bundle to $TESTTMP/a7/.hg/strip-backup/5fddd98957c8-f9244fa1-rebase.hg (glob)
15132
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   305
  $ hg tglog
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   306
  o  7: 'D'
15132
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   307
  |
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   308
  o  6: 'C'
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   309
  |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   310
  | @  5: 'H'
15132
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   311
  | |
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   312
  | | o  4: 'G'
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   313
  | |/|
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   314
  | o |  3: 'F'
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   315
  |/ /
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   316
  | o  2: 'E'
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   317
  |/
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   318
  | o  1: 'B'
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   319
  |/
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   320
  o  0: 'A'
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   321
  
15742
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15447
diff changeset
   322
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15447
diff changeset
   323
Check rebasing public changeset
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15447
diff changeset
   324
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15447
diff changeset
   325
  $ hg pull --config phases.publish=True -q -r 6 . # update phase of 6
19059
53eadcb814fd rebase: check no-op before checking phase (issue3891)
Siddharth Agarwal <sid0@fb.com>
parents: 18644
diff changeset
   326
  $ hg rebase -d 0 -b 6
53eadcb814fd rebase: check no-op before checking phase (issue3891)
Siddharth Agarwal <sid0@fb.com>
parents: 18644
diff changeset
   327
  nothing to rebase
53eadcb814fd rebase: check no-op before checking phase (issue3891)
Siddharth Agarwal <sid0@fb.com>
parents: 18644
diff changeset
   328
  [1]
15742
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15447
diff changeset
   329
  $ hg rebase -d 5 -b 6
25411
d298805fb639 phases: rewrite "immutable changeset" to "public changeset"
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 25025
diff changeset
   330
  abort: can't rebase public changeset e1c4361dd923
29966
11604da46982 rebase: use single quotes in use warning
timeless <timeless@mozdev.org>
parents: 28189
diff changeset
   331
  (see 'hg help phases' for details)
15742
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15447
diff changeset
   332
  [255]
31302
681046de87f1 rebase: abort if *any* commit in rebase set is public
Martin von Zweigbergk <martinvonz@google.com>
parents: 31225
diff changeset
   333
  $ hg rebase -d 5 -r '1 + (6::)'
681046de87f1 rebase: abort if *any* commit in rebase set is public
Martin von Zweigbergk <martinvonz@google.com>
parents: 31225
diff changeset
   334
  abort: can't rebase public changeset e1c4361dd923
681046de87f1 rebase: abort if *any* commit in rebase set is public
Martin von Zweigbergk <martinvonz@google.com>
parents: 31225
diff changeset
   335
  (see 'hg help phases' for details)
681046de87f1 rebase: abort if *any* commit in rebase set is public
Martin von Zweigbergk <martinvonz@google.com>
parents: 31225
diff changeset
   336
  [255]
15742
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15447
diff changeset
   337
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15447
diff changeset
   338
  $ hg rebase -d 5 -b 6 --keep
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   339
  rebasing 6:e1c4361dd923 "C"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   340
  rebasing 7:c9659aac0000 "D" (tip)
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   341
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   342
Check rebasing mutable changeset
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   343
Source phase greater or equal to destination phase: new changeset get the phase of source:
23440
57d35d3c1cf1 rebase: ignore negative state when updating back to original wc parent
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22895
diff changeset
   344
  $ hg id -n
57d35d3c1cf1 rebase: ignore negative state when updating back to original wc parent
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22895
diff changeset
   345
  5
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   346
  $ hg rebase -s9 -d0
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   347
  rebasing 9:2b23e52411f4 "D" (tip)
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   348
  saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2b23e52411f4-f942decf-rebase.hg (glob)
23440
57d35d3c1cf1 rebase: ignore negative state when updating back to original wc parent
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22895
diff changeset
   349
  $ hg id -n # check we updated back to parent
57d35d3c1cf1 rebase: ignore negative state when updating back to original wc parent
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 22895
diff changeset
   350
  5
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   351
  $ hg log --template "{phase}\n" -r 9
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   352
  draft
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   353
  $ hg rebase -s9 -d1
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   354
  rebasing 9:2cb10d0cfc6c "D" (tip)
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   355
  saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2cb10d0cfc6c-ddb0f256-rebase.hg (glob)
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   356
  $ hg log --template "{phase}\n" -r 9
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   357
  draft
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   358
  $ hg phase --force --secret 9
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   359
  $ hg rebase -s9 -d0
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   360
  rebasing 9:c5b12b67163a "D" (tip)
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   361
  saved backup bundle to $TESTTMP/a7/.hg/strip-backup/c5b12b67163a-4e372053-rebase.hg (glob)
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   362
  $ hg log --template "{phase}\n" -r 9
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   363
  secret
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   364
  $ hg rebase -s9 -d1
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   365
  rebasing 9:2a0524f868ac "D" (tip)
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   366
  saved backup bundle to $TESTTMP/a7/.hg/strip-backup/2a0524f868ac-cefd8574-rebase.hg (glob)
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   367
  $ hg log --template "{phase}\n" -r 9
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   368
  secret
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   369
Source phase lower than destination phase: new changeset get the phase of destination:
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   370
  $ hg rebase -s8 -d9
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   371
  rebasing 8:6d4f22462821 "C"
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   372
  saved backup bundle to $TESTTMP/a7/.hg/strip-backup/6d4f22462821-3441f70b-rebase.hg (glob)
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   373
  $ hg log --template "{phase}\n" -r 'rev(9)'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   374
  secret
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   375
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   376
  $ cd ..
15132
81f76098211e rebase: allow rebase to ancestor (issue3010)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 14119
diff changeset
   377
34143
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   378
Check that temporary bundle doesn't lose phase when not using generaldelta
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   379
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   380
  $ hg --config format.usegeneraldelta=no init issue5678
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   381
  $ cd issue5678
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   382
  $ grep generaldelta .hg/requires
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   383
  [1]
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   384
  $ echo a > a
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   385
  $ hg ci -Aqm a
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   386
  $ echo b > b
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   387
  $ hg ci -Aqm b
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   388
  $ hg co -q '.^'
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   389
  $ echo c > c
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   390
  $ hg ci -Aqm c
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   391
  $ hg phase --public
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   392
  $ hg log -G -T '{rev}:{node|shortest} {phase} {desc}\n'
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   393
  @  2:d36c public c
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   394
  |
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   395
  | o  1:d2ae draft b
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   396
  |/
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   397
  o  0:cb9a public a
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   398
  
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   399
  $ hg rebase -s 1 -d 2
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   400
  rebasing 1:d2ae7f538514 "b"
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   401
  saved backup bundle to $TESTTMP/issue5678/.hg/strip-backup/d2ae7f538514-2953539b-rebase.hg (glob)
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   402
  $ hg log -G -T '{rev}:{node|shortest} {phase} {desc}\n'
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   403
  o  2:c882 draft b
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   404
  |
34144
91f0677dc920 repair: preserve phase also when not using generaldelta (issue5678)
Martin von Zweigbergk <martinvonz@google.com>
parents: 34143
diff changeset
   405
  @  1:d36c public c
34143
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   406
  |
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   407
  o  0:cb9a public a
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   408
  
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   409
  $ cd ..
b5d7e7d5c573 tests: add test for issue5678
Martin von Zweigbergk <martinvonz@google.com>
parents: 33338
diff changeset
   410
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   411
Test for revset
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   412
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   413
We need a bit different graph
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   414
All destination are B
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   415
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   416
  $ hg init ah
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   417
  $ cd ah
16350
4f795f5fbb0b tests: make tests work if directory contains special characters
Thomas Arendsen Hein <thomas@intevation.de>
parents: 15945
diff changeset
   418
  $ hg unbundle "$TESTDIR/bundles/rebase-revset.hg"
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   419
  adding changesets
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   420
  adding manifests
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   421
  adding file changes
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   422
  added 9 changesets with 9 changes to 9 files (+2 heads)
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   423
  (run 'hg heads' to see heads, 'hg merge' to merge)
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   424
  $ hg tglog
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   425
  o  8: 'I'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   426
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   427
  o  7: 'H'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   428
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   429
  o  6: 'G'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   430
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   431
  | o  5: 'F'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   432
  | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   433
  | o  4: 'E'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   434
  |/
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   435
  o  3: 'D'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   436
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   437
  o  2: 'C'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   438
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   439
  | o  1: 'B'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   440
  |/
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   441
  o  0: 'A'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   442
  
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   443
  $ cd ..
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   444
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   445
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   446
Simple case with keep:
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   447
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   448
Source on have two descendant heads but ask for one
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   449
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   450
  $ hg clone -q -u . ah ah1
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   451
  $ cd ah1
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   452
  $ hg rebase -r '2::8' -d 1
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   453
  abort: can't remove original changesets with unrebased descendants
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   454
  (use --keep to keep original changesets)
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   455
  [255]
25025
72f7f98bc5e5 rebase: add short -k option for --keep
Nat Mote <nmote@fb.com>
parents: 23917
diff changeset
   456
  $ hg rebase -r '2::8' -d 1 -k
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   457
  rebasing 2:c9e50f6cdc55 "C"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   458
  rebasing 3:ffd453c31098 "D"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   459
  rebasing 6:3d8a618087a7 "G"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   460
  rebasing 7:72434a4e60b0 "H"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   461
  rebasing 8:479ddb54a924 "I" (tip)
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   462
  $ hg tglog
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   463
  o  13: 'I'
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   464
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   465
  o  12: 'H'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   466
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   467
  o  11: 'G'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   468
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   469
  o  10: 'D'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   470
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   471
  o  9: 'C'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   472
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   473
  | o  8: 'I'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   474
  | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   475
  | o  7: 'H'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   476
  | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   477
  | o  6: 'G'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   478
  | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   479
  | | o  5: 'F'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   480
  | | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   481
  | | o  4: 'E'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   482
  | |/
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   483
  | o  3: 'D'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   484
  | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   485
  | o  2: 'C'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   486
  | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   487
  o |  1: 'B'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   488
  |/
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   489
  o  0: 'A'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   490
  
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   491
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   492
  $ cd ..
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   493
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   494
Base on have one descendant heads we ask for but common ancestor have two
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   495
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   496
  $ hg clone -q -u . ah ah2
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   497
  $ cd ah2
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   498
  $ hg rebase -r '3::8' -d 1
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   499
  abort: can't remove original changesets with unrebased descendants
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   500
  (use --keep to keep original changesets)
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   501
  [255]
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   502
  $ hg rebase -r '3::8' -d 1 --keep
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   503
  rebasing 3:ffd453c31098 "D"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   504
  rebasing 6:3d8a618087a7 "G"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   505
  rebasing 7:72434a4e60b0 "H"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   506
  rebasing 8:479ddb54a924 "I" (tip)
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   507
  $ hg tglog
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   508
  o  12: 'I'
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   509
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   510
  o  11: 'H'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   511
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   512
  o  10: 'G'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   513
  |
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   514
  o  9: 'D'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   515
  |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   516
  | o  8: 'I'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   517
  | |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   518
  | o  7: 'H'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   519
  | |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   520
  | o  6: 'G'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   521
  | |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   522
  | | o  5: 'F'
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   523
  | | |
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   524
  | | o  4: 'E'
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   525
  | |/
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   526
  | o  3: 'D'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   527
  | |
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   528
  | o  2: 'C'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   529
  | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   530
  o |  1: 'B'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   531
  |/
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   532
  o  0: 'A'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   533
  
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   534
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   535
  $ cd ..
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   536
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   537
rebase subset
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   538
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   539
  $ hg clone -q -u . ah ah3
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   540
  $ cd ah3
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   541
  $ hg rebase -r '3::7' -d 1
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   542
  abort: can't remove original changesets with unrebased descendants
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   543
  (use --keep to keep original changesets)
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   544
  [255]
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   545
  $ hg rebase -r '3::7' -d 1 --keep
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   546
  rebasing 3:ffd453c31098 "D"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   547
  rebasing 6:3d8a618087a7 "G"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   548
  rebasing 7:72434a4e60b0 "H"
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   549
  $ hg tglog
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   550
  o  11: 'H'
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   551
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   552
  o  10: 'G'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   553
  |
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   554
  o  9: 'D'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   555
  |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   556
  | o  8: 'I'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   557
  | |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   558
  | o  7: 'H'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   559
  | |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   560
  | o  6: 'G'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   561
  | |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   562
  | | o  5: 'F'
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   563
  | | |
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   564
  | | o  4: 'E'
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   565
  | |/
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   566
  | o  3: 'D'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   567
  | |
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   568
  | o  2: 'C'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   569
  | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   570
  o |  1: 'B'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   571
  |/
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   572
  o  0: 'A'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   573
  
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   574
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   575
  $ cd ..
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   576
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   577
rebase subset with multiple head
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   578
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   579
  $ hg clone -q -u . ah ah4
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   580
  $ cd ah4
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   581
  $ hg rebase -r '3::(7+5)' -d 1
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   582
  abort: can't remove original changesets with unrebased descendants
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   583
  (use --keep to keep original changesets)
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   584
  [255]
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   585
  $ hg rebase -r '3::(7+5)' -d 1 --keep
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   586
  rebasing 3:ffd453c31098 "D"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   587
  rebasing 4:c01897464e7f "E"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   588
  rebasing 5:41bfcc75ed73 "F"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   589
  rebasing 6:3d8a618087a7 "G"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   590
  rebasing 7:72434a4e60b0 "H"
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   591
  $ hg tglog
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   592
  o  13: 'H'
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   593
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   594
  o  12: 'G'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   595
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   596
  | o  11: 'F'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   597
  | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   598
  | o  10: 'E'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   599
  |/
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   600
  o  9: 'D'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   601
  |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   602
  | o  8: 'I'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   603
  | |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   604
  | o  7: 'H'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   605
  | |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   606
  | o  6: 'G'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   607
  | |
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   608
  | | o  5: 'F'
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   609
  | | |
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   610
  | | o  4: 'E'
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   611
  | |/
17005
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   612
  | o  3: 'D'
50f434510da6 rebase: do not add second parent to rebased changeset (drop detach option) (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 16540
diff changeset
   613
  | |
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   614
  | o  2: 'C'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   615
  | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   616
  o |  1: 'B'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   617
  |/
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   618
  o  0: 'A'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   619
  
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   620
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   621
  $ cd ..
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   622
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   623
More advanced tests
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   624
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   625
rebase on ancestor with revset
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   626
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   627
  $ hg clone -q -u . ah ah5
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   628
  $ cd ah5
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   629
  $ hg rebase -r '6::' -d 2
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   630
  rebasing 6:3d8a618087a7 "G"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   631
  rebasing 7:72434a4e60b0 "H"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   632
  rebasing 8:479ddb54a924 "I" (tip)
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   633
  saved backup bundle to $TESTTMP/ah5/.hg/strip-backup/3d8a618087a7-b4f73f31-rebase.hg (glob)
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   634
  $ hg tglog
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   635
  o  8: 'I'
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   636
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   637
  o  7: 'H'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   638
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   639
  o  6: 'G'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   640
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   641
  | o  5: 'F'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   642
  | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   643
  | o  4: 'E'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   644
  | |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   645
  | o  3: 'D'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   646
  |/
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   647
  o  2: 'C'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   648
  |
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   649
  | o  1: 'B'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   650
  |/
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   651
  o  0: 'A'
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   652
  
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   653
  $ cd ..
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   654
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   655
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   656
rebase with multiple root.
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   657
We rebase E and G on B
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   658
We would expect heads are I, F if it was supported
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   659
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   660
  $ hg clone -q -u . ah ah6
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   661
  $ cd ah6
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   662
  $ hg rebase -r '(4+6)::' -d 1
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   663
  rebasing 4:c01897464e7f "E"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   664
  rebasing 5:41bfcc75ed73 "F"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   665
  rebasing 6:3d8a618087a7 "G"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   666
  rebasing 7:72434a4e60b0 "H"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   667
  rebasing 8:479ddb54a924 "I" (tip)
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   668
  saved backup bundle to $TESTTMP/ah6/.hg/strip-backup/3d8a618087a7-aae93a24-rebase.hg (glob)
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   669
  $ hg tglog
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19059
diff changeset
   670
  o  8: 'I'
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   671
  |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   672
  o  7: 'H'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   673
  |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   674
  o  6: 'G'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   675
  |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   676
  | o  5: 'F'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   677
  | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   678
  | o  4: 'E'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   679
  |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   680
  | o  3: 'D'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   681
  | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   682
  | o  2: 'C'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   683
  | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   684
  o |  1: 'B'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   685
  |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   686
  o  0: 'A'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   687
  
15270
6cb6064f1d50 rebase: add --rev option to rebase
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15267
diff changeset
   688
  $ cd ..
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   689
18644
3e92772d5383 spelling: fix some minor issues found by spell checker
Mads Kiilerich <mads@kiilerich.com>
parents: 18424
diff changeset
   690
More complex rebase with multiple roots
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   691
each root have a different common ancestor with the destination and this is a detach
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   692
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   693
(setup)
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   694
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   695
  $ hg clone -q -u . a a8
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   696
  $ cd a8
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   697
  $ echo I > I
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   698
  $ hg add I
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   699
  $ hg commit -m I
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   700
  $ hg up 4
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   701
  1 files updated, 0 files merged, 3 files removed, 0 files unresolved
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   702
  $ echo I > J
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   703
  $ hg add J
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   704
  $ hg commit -m J
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   705
  created new head
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   706
  $ echo I > K
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   707
  $ hg add K
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   708
  $ hg commit -m K
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   709
  $ hg tglog
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   710
  @  10: 'K'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   711
  |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   712
  o  9: 'J'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   713
  |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   714
  | o  8: 'I'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   715
  | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   716
  | o  7: 'H'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   717
  | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   718
  +---o  6: 'G'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   719
  | |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   720
  | o  5: 'F'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   721
  | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   722
  o |  4: 'E'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   723
  |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   724
  | o  3: 'D'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   725
  | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   726
  | o  2: 'C'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   727
  | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   728
  | o  1: 'B'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   729
  |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   730
  o  0: 'A'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   731
  
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   732
(actual test)
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   733
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   734
  $ hg rebase --dest 'desc(G)' --rev 'desc(K) + desc(I)'
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   735
  rebasing 8:e7ec4e813ba6 "I"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   736
  rebasing 10:23a4ace37988 "K" (tip)
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   737
  saved backup bundle to $TESTTMP/a8/.hg/strip-backup/23a4ace37988-b06984b3-rebase.hg (glob)
18424
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   738
  $ hg log --rev 'children(desc(G))'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   739
  changeset:   9:adb617877056
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   740
  parent:      6:eea13746799a
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   741
  user:        test
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   742
  date:        Thu Jan 01 00:00:00 1970 +0000
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   743
  summary:     I
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   744
  
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   745
  changeset:   10:882431a34a0e
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   746
  tag:         tip
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   747
  parent:      6:eea13746799a
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   748
  user:        test
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   749
  date:        Thu Jan 01 00:00:00 1970 +0000
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   750
  summary:     K
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   751
  
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   752
  $ hg tglog
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   753
  @  10: 'K'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   754
  |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   755
  | o  9: 'I'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   756
  |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   757
  | o  8: 'J'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   758
  | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   759
  | | o  7: 'H'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   760
  | | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   761
  o---+  6: 'G'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   762
  |/ /
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   763
  | o  5: 'F'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   764
  | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   765
  o |  4: 'E'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   766
  |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   767
  | o  3: 'D'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   768
  | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   769
  | o  2: 'C'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   770
  | |
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   771
  | o  1: 'B'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   772
  |/
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   773
  o  0: 'A'
100fdc84670f rebase: support multiple roots for rebaseset
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 17029
diff changeset
   774
  
20335
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   775
22183
4dd9f606d0a6 tests: fixup issue markers to make check-commit happy
Matt Mackall <mpm@selenic.com>
parents: 21410
diff changeset
   776
Test that rebase is not confused by $CWD disappearing during rebase (issue4121)
20335
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   777
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   778
  $ cd ..
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   779
  $ hg init cwd-vanish
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   780
  $ cd cwd-vanish
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   781
  $ touch initial-file
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   782
  $ hg add initial-file
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   783
  $ hg commit -m 'initial commit'
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   784
  $ touch dest-file
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   785
  $ hg add dest-file
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   786
  $ hg commit -m 'dest commit'
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   787
  $ hg up 0
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   788
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   789
  $ touch other-file
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   790
  $ hg add other-file
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   791
  $ hg commit -m 'first source commit'
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   792
  created new head
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   793
  $ mkdir subdir
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   794
  $ cd subdir
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   795
  $ touch subfile
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   796
  $ hg add subfile
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   797
  $ hg commit -m 'second source with subdir'
33338
ad124b3208fd test-rebase: conditionalize output instead of tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 33337
diff changeset
   798
20335
e40520642e64 rebase: do not crash in panic when cwd disapear in the process (issue4121)
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 20249
diff changeset
   799
  $ hg rebase -b . -d 1 --traceback
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   800
  rebasing 2:779a07b1b7a0 "first source commit"
33338
ad124b3208fd test-rebase: conditionalize output instead of tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 33337
diff changeset
   801
  current directory was removed (rmcwd !)
ad124b3208fd test-rebase: conditionalize output instead of tests
Matt Harbison <matt_harbison@yahoo.com>
parents: 33337
diff changeset
   802
  (consider changing to repo root: $TESTTMP/cwd-vanish) (rmcwd !)
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   803
  rebasing 3:a7d6f3a00bf3 "second source with subdir" (tip)
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   804
  saved backup bundle to $TESTTMP/cwd-vanish/.hg/strip-backup/779a07b1b7a0-853e0073-rebase.hg (glob)
26719
8bed1eae99df rebase: rename and test '_destrebase'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25411
diff changeset
   805
30849
763031a7690d tests: use an absolute path to get around '..' being invalid on a dead CWD
Augie Fackler <augie@google.com>
parents: 30332
diff changeset
   806
Get back to the root of cwd-vanish. Note that even though `cd ..`
763031a7690d tests: use an absolute path to get around '..' being invalid on a dead CWD
Augie Fackler <augie@google.com>
parents: 30332
diff changeset
   807
works on most systems, it does not work on FreeBSD 10, so we use an
763031a7690d tests: use an absolute path to get around '..' being invalid on a dead CWD
Augie Fackler <augie@google.com>
parents: 30332
diff changeset
   808
absolute path to get back to the repository.
31143
628600bf55e4 tests: un-nest the `order` repo in test-rebase-scenario-global
Augie Fackler <augie@google.com>
parents: 30849
diff changeset
   809
  $ cd $TESTTMP
30849
763031a7690d tests: use an absolute path to get around '..' being invalid on a dead CWD
Augie Fackler <augie@google.com>
parents: 30332
diff changeset
   810
30007
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   811
Test that rebase is done in topo order (issue5370)
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   812
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   813
  $ hg init order
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   814
  $ cd order
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   815
  $ touch a && hg add a && hg ci -m A
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   816
  $ touch b && hg add b && hg ci -m B
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   817
  $ touch c && hg add c && hg ci -m C
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   818
  $ hg up 1
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   819
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   820
  $ touch d && hg add d && hg ci -m D
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   821
  created new head
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   822
  $ hg up 2
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   823
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   824
  $ touch e && hg add e && hg ci -m E
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   825
  $ hg up 3
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   826
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   827
  $ touch f && hg add f && hg ci -m F
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   828
  $ hg up 0
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   829
  0 files updated, 0 files merged, 3 files removed, 0 files unresolved
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   830
  $ touch g && hg add g && hg ci -m G
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   831
  created new head
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   832
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   833
  $ hg tglog
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   834
  @  6: 'G'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   835
  |
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   836
  | o  5: 'F'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   837
  | |
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   838
  | | o  4: 'E'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   839
  | | |
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   840
  | o |  3: 'D'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   841
  | | |
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   842
  | | o  2: 'C'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   843
  | |/
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   844
  | o  1: 'B'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   845
  |/
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   846
  o  0: 'A'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   847
  
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   848
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   849
  $ hg rebase -s 1 -d 6
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   850
  rebasing 1:76035bbd54bd "B"
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   851
  rebasing 2:d84f5cfaaf14 "C"
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   852
  rebasing 4:82ae8dc7a9b7 "E"
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   853
  rebasing 3:ab709c9f7171 "D"
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   854
  rebasing 5:412b391de760 "F"
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33139
diff changeset
   855
  saved backup bundle to $TESTTMP/order/.hg/strip-backup/76035bbd54bd-e341bc99-rebase.hg (glob)
30007
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   856
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   857
  $ hg tglog
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   858
  o  6: 'F'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   859
  |
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   860
  o  5: 'D'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   861
  |
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   862
  | o  4: 'E'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   863
  | |
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   864
  | o  3: 'C'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   865
  |/
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   866
  o  2: 'B'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   867
  |
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   868
  @  1: 'G'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   869
  |
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   870
  o  0: 'A'
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   871
  
aca0954d3739 rebase: rebase changesets in topo order (issue5370) (BC)
Xidorn Quan <me@upsuper.org>
parents: 29966
diff changeset
   872
26719
8bed1eae99df rebase: rename and test '_destrebase'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25411
diff changeset
   873
Test experimental revset
28135
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   874
========================
26719
8bed1eae99df rebase: rename and test '_destrebase'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25411
diff changeset
   875
31143
628600bf55e4 tests: un-nest the `order` repo in test-rebase-scenario-global
Augie Fackler <augie@google.com>
parents: 30849
diff changeset
   876
  $ cd ../cwd-vanish
28135
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   877
30332
318a24b52eeb spelling: fixes of non-dictionary words
Mads Kiilerich <madski@unity3d.com>
parents: 30230
diff changeset
   878
Make the repo a bit more interesting
28135
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   879
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   880
  $ hg up 1
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   881
  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   882
  $ echo aaa > aaa
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   883
  $ hg add aaa
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   884
  $ hg commit -m aaa
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   885
  created new head
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   886
  $ hg log -G
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   887
  @  changeset:   4:5f7bc9025ed2
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   888
  |  tag:         tip
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   889
  |  parent:      1:58d79cc1cf43
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   890
  |  user:        test
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   891
  |  date:        Thu Jan 01 00:00:00 1970 +0000
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   892
  |  summary:     aaa
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   893
  |
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   894
  | o  changeset:   3:1910d5ff34ea
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   895
  | |  user:        test
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   896
  | |  date:        Thu Jan 01 00:00:00 1970 +0000
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   897
  | |  summary:     second source with subdir
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   898
  | |
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   899
  | o  changeset:   2:82901330b6ef
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   900
  |/   user:        test
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   901
  |    date:        Thu Jan 01 00:00:00 1970 +0000
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   902
  |    summary:     first source commit
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   903
  |
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   904
  o  changeset:   1:58d79cc1cf43
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   905
  |  user:        test
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   906
  |  date:        Thu Jan 01 00:00:00 1970 +0000
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   907
  |  summary:     dest commit
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   908
  |
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   909
  o  changeset:   0:e94b687f7da3
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   910
     user:        test
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   911
     date:        Thu Jan 01 00:00:00 1970 +0000
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   912
     summary:     initial commit
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   913
  
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   914
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   915
Testing from lower head
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   916
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   917
  $ hg up 3
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   918
  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
26719
8bed1eae99df rebase: rename and test '_destrebase'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25411
diff changeset
   919
  $ hg log -r '_destrebase()'
28135
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   920
  changeset:   4:5f7bc9025ed2
26719
8bed1eae99df rebase: rename and test '_destrebase'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25411
diff changeset
   921
  tag:         tip
28135
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   922
  parent:      1:58d79cc1cf43
26719
8bed1eae99df rebase: rename and test '_destrebase'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25411
diff changeset
   923
  user:        test
8bed1eae99df rebase: rename and test '_destrebase'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25411
diff changeset
   924
  date:        Thu Jan 01 00:00:00 1970 +0000
28135
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   925
  summary:     aaa
26719
8bed1eae99df rebase: rename and test '_destrebase'
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 25411
diff changeset
   926
  
28135
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   927
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   928
Testing from upper head
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   929
28189
fac3a24be50e rebase: choose default destination the same way as 'hg merge' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28135
diff changeset
   930
  $ hg log -r '_destrebase(4)'
fac3a24be50e rebase: choose default destination the same way as 'hg merge' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28135
diff changeset
   931
  changeset:   3:1910d5ff34ea
fac3a24be50e rebase: choose default destination the same way as 'hg merge' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28135
diff changeset
   932
  user:        test
fac3a24be50e rebase: choose default destination the same way as 'hg merge' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28135
diff changeset
   933
  date:        Thu Jan 01 00:00:00 1970 +0000
fac3a24be50e rebase: choose default destination the same way as 'hg merge' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28135
diff changeset
   934
  summary:     second source with subdir
fac3a24be50e rebase: choose default destination the same way as 'hg merge' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28135
diff changeset
   935
  
28135
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   936
  $ hg up 4
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   937
  1 files updated, 0 files merged, 2 files removed, 0 files unresolved
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   938
  $ hg log -r '_destrebase()'
28189
fac3a24be50e rebase: choose default destination the same way as 'hg merge' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28135
diff changeset
   939
  changeset:   3:1910d5ff34ea
28135
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   940
  user:        test
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   941
  date:        Thu Jan 01 00:00:00 1970 +0000
28189
fac3a24be50e rebase: choose default destination the same way as 'hg merge' (BC)
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28135
diff changeset
   942
  summary:     second source with subdir
28135
ecfa82447162 tests: have a more elaborated test for _destrebase
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 28022
diff changeset
   943
  
33055
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   944
Testing rebase being called inside another transaction
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   945
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   946
  $ cd $TESTTMP
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   947
  $ hg init tr-state
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   948
  $ cd tr-state
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   949
  $ cat > $TESTTMP/wraprebase.py <<EOF
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   950
  > from __future__ import absolute_import
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   951
  > from mercurial import extensions
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   952
  > def _rebase(orig, ui, repo, *args, **kwargs):
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   953
  >     with repo.wlock():
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   954
  >         with repo.lock():
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   955
  >             with repo.transaction('wrappedrebase'):
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   956
  >                 return orig(ui, repo, *args, **kwargs)
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   957
  > def wraprebase(loaded):
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   958
  >     assert loaded
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   959
  >     rebasemod = extensions.find('rebase')
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   960
  >     extensions.wrapcommand(rebasemod.cmdtable, 'rebase', _rebase)
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   961
  > def extsetup(ui):
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   962
  >     extensions.afterloaded('rebase', wraprebase)
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   963
  > EOF
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   964
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   965
  $ cat >> .hg/hgrc <<EOF
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   966
  > [extensions]
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   967
  > wraprebase=$TESTTMP/wraprebase.py
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   968
  > [experimental]
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   969
  > evolution=all
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   970
  > EOF
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   971
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   972
  $ hg debugdrawdag <<'EOS'
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   973
  > B C
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   974
  > |/
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   975
  > A
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   976
  > EOS
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   977
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   978
  $ hg rebase -s C -d B
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   979
  rebasing 2:dc0947a82db8 "C" (C tip)
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   980
be3584712b20 test-rebase: add a test showing rebasestate left behind
Jun Wu <quark@fb.com>
parents: 31514
diff changeset
   981
  $ [ -f .hg/rebasestate ] && echo 'WRONG: rebasestate should not exist'
33056
2312e70cf78b rebase: clean up rebasestate from active transaction
Jun Wu <quark@fb.com>
parents: 33055
diff changeset
   982
  [1]