tests/test-rebase-collapse.t
author Pierre-Yves David <pierre-yves.david@octobus.net>
Tue, 11 Feb 2020 11:18:52 +0100
changeset 44363 f7459da77f23
parent 44347 9c9cfecd4600
child 44557 254c5f71e2df
permissions -rw-r--r--
nodemap: introduce an option to use mmap to read the nodemap mapping The performance and memory benefit is much greater if we don't have to copy all the data in memory for each information. So we introduce an option (on by default) to read the data using mmap. This changeset is the last one definition the API for index support nodemap data. (they have to be able to use the mmaping). Below are some benchmark comparing the best we currently have in 5.3 with the final step of this series (using the persistent nodemap implementation in Rust). The benchmark run `hg perfindex` with various revset and the following variants: Before: * do not use the persistent nodemap * use the CPython implementation of the index for nodemap * use mmapping of the changelog index After: * use the MixedIndex Rust code, with the NodeTree object for nodemap access (still in review) * use the persistent nodemap data from disk * access the persistent nodemap data through mmap * use mmapping of the changelog index The persistent nodemap greatly speed up most operation on very large repositories. Some of the previously very fast lookup end up a bit slower because the persistent nodemap has to be setup. However the absolute slowdown is very small and won't matters in the big picture. Here are some numbers (in seconds) for the reference copy of mozilla-try: Revset Before After abs-change speedup -10000: 0.004622 0.005532 0.000910 × 0.83 -10: 0.000050 0.000132 0.000082 × 0.37 tip 0.000052 0.000085 0.000033 × 0.61 0 + (-10000:) 0.028222 0.005337 -0.022885 × 5.29 0 0.023521 0.000084 -0.023437 × 280.01 (-10000:) + 0 0.235539 0.005308 -0.230231 × 44.37 (-10:) + :9 0.232883 0.000180 -0.232703 ×1293.79 (-10000:) + (:99) 0.238735 0.005358 -0.233377 × 44.55 :99 + (-10000:) 0.317942 0.005593 -0.312349 × 56.84 :9 + (-10:) 0.313372 0.000179 -0.313193 ×1750.68 :9 0.316450 0.000143 -0.316307 ×2212.93 On smaller repositories, the cost of nodemap related operation is not as big, so the win is much more modest. Yet it helps shaving a handful of millisecond here and there. Here are some numbers (in seconds) for the reference copy of mercurial: Revset Before After abs-change speedup -10: 0.000065 0.000097 0.000032 × 0.67 tip 0.000063 0.000078 0.000015 × 0.80 0 0.000561 0.000079 -0.000482 × 7.10 -10000: 0.004609 0.003648 -0.000961 × 1.26 0 + (-10000:) 0.005023 0.003715 -0.001307 × 1.35 (-10:) + :9 0.002187 0.000108 -0.002079 ×20.25 (-10000:) + 0 0.006252 0.003716 -0.002536 × 1.68 (-10000:) + (:99) 0.006367 0.003707 -0.002660 × 1.71 :9 + (-10:) 0.003846 0.000110 -0.003736 ×34.96 :9 0.003854 0.000099 -0.003755 ×38.92 :99 + (-10000:) 0.007644 0.003778 -0.003866 × 2.02 Differential Revision: https://phab.mercurial-scm.org/D7894
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=
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
     4
  > mq=
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
     5
  > drawdag=$TESTDIR/drawdag.py
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     6
  > 
15742
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15615
diff changeset
     7
  > [phases]
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15615
diff changeset
     8
  > publish=False
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15615
diff changeset
     9
  > 
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    10
  > [alias]
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
    11
  > tglog = log -G --template "{rev}: {node|short} '{desc}' {branches}\n"
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
    12
  > tglogp = log -G --template "{rev}: {node|short} {phase} '{desc}' {branches}\n"
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    13
  > EOF
11198
b345b1cc124f rebase: use helpers.sh in tests
Matt Mackall <mpm@selenic.com>
parents: 10762
diff changeset
    14
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    15
Highest phase of source commits is used:
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    16
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    17
  $ hg init phase
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    18
  $ cd phase
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    19
  $ hg debugdrawdag << 'EOF'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    20
  >   D
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    21
  >   |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    22
  > F C
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    23
  > | |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    24
  > E B
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    25
  > |/
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    26
  > A
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    27
  > EOF
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    28
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    29
  $ hg phase --force --secret D
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    30
20766
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    31
  $ cat > $TESTTMP/editor.sh <<EOF
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    32
  > echo "==== before editing"
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    33
  > cat \$1
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    34
  > echo "===="
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    35
  > echo "edited manually" >> \$1
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    36
  > EOF
41195
c339a01acd9a test: explicit a rebase source in test-rebase-collapse.t
Boris Feld <boris.feld@octobus.net>
parents: 40865
diff changeset
    37
  $ HGEDITOR="sh $TESTTMP/editor.sh" hg rebase --collapse --keepbranches -e --source B --dest F
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    38
  rebasing 1:112478962961 "B" (B)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    39
  rebasing 3:26805aba1e60 "C" (C)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    40
  rebasing 5:f585351a92f8 "D" (D tip)
20766
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    41
  ==== before editing
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    42
  Collapsed revision
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    43
  * B
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    44
  * C
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    45
  * D
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    46
  
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    47
  
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    48
  HG: Enter commit message.  Lines beginning with 'HG:' are removed.
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    49
  HG: Leave message empty to abort commit.
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    50
  HG: --
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    51
  HG: user: test
20766
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    52
  HG: branch 'default'
22895
dfa44e25bb53 dirstate: properly clean-up some more merge state on setparents
Matt Mackall <mpm@selenic.com>
parents: 22206
diff changeset
    53
  HG: added B
dfa44e25bb53 dirstate: properly clean-up some more merge state on setparents
Matt Mackall <mpm@selenic.com>
parents: 22206
diff changeset
    54
  HG: added C
dfa44e25bb53 dirstate: properly clean-up some more merge state on setparents
Matt Mackall <mpm@selenic.com>
parents: 22206
diff changeset
    55
  HG: added D
20766
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    56
  ====
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    57
  saved backup bundle to $TESTTMP/phase/.hg/strip-backup/112478962961-cb2a9b47-rebase.hg
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    58
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    59
  $ hg tglogp
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    60
  o  3: 92fa5f5fe108 secret 'Collapsed revision
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    61
  |  * B
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    62
  |  * C
20766
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    63
  |  * D
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    64
  |
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    65
  |
95aab23a806b rebase: use "commitforceeditor" instead of "ui.edit()" for "--collapse"
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20185
diff changeset
    66
  |  edited manually'
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    67
  o  2: 64a8289d2492 draft 'F'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    68
  |
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    69
  o  1: 7fb047a69f22 draft 'E'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    70
  |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    71
  o  0: 426bada5c675 draft 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    72
  
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18778
diff changeset
    73
  $ hg manifest --rev tip
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    74
  A
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    75
  B
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    76
  C
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    77
  D
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    78
  E
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    79
  F
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    80
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    81
  $ cd ..
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    82
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    83
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    84
Merge gets linearized:
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    85
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    86
  $ hg init linearized-merge
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    87
  $ cd linearized-merge
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    88
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    89
  $ hg debugdrawdag << 'EOF'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    90
  > F D
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    91
  > |/|
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    92
  > C B
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    93
  > |/
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    94
  > A
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    95
  > EOF
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    96
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    97
  $ hg phase --force --secret D
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    98
  $ hg rebase --source B --collapse --dest F
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
    99
  rebasing 1:112478962961 "B" (B)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   100
  rebasing 3:4e4f9194f9f1 "D" (D)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   101
  saved backup bundle to $TESTTMP/linearized-merge/.hg/strip-backup/112478962961-e389075b-rebase.hg
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   102
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   103
  $ hg tglog
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   104
  o  3: 5bdc08b7da2b 'Collapsed revision
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   105
  |  * B
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   106
  |  * D'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   107
  o  2: afc707c82df0 'F'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   108
  |
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   109
  o  1: dc0947a82db8 'C'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   110
  |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   111
  o  0: 426bada5c675 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   112
  
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18778
diff changeset
   113
  $ hg manifest --rev tip
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   114
  A
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   115
  B
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   116
  C
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   117
  F
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   118
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   119
  $ cd ..
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   120
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   121
Custom message:
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   122
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   123
  $ hg init message
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   124
  $ cd message
13661
ee349e228835 rebase: add -m/--message to rebase --collapse (issue2389)
Radomir Dopieralski <sheep@stxnext.pl>
parents: 12640
diff changeset
   125
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   126
  $ hg debugdrawdag << 'EOF'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   127
  >   C
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   128
  >   |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   129
  > D B
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   130
  > |/
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   131
  > A
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   132
  > EOF
13661
ee349e228835 rebase: add -m/--message to rebase --collapse (issue2389)
Radomir Dopieralski <sheep@stxnext.pl>
parents: 12640
diff changeset
   133
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   134
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   135
  $ hg rebase --base B -m 'custom message'
13661
ee349e228835 rebase: add -m/--message to rebase --collapse (issue2389)
Radomir Dopieralski <sheep@stxnext.pl>
parents: 12640
diff changeset
   136
  abort: message can only be specified with collapse
ee349e228835 rebase: add -m/--message to rebase --collapse (issue2389)
Radomir Dopieralski <sheep@stxnext.pl>
parents: 12640
diff changeset
   137
  [255]
ee349e228835 rebase: add -m/--message to rebase --collapse (issue2389)
Radomir Dopieralski <sheep@stxnext.pl>
parents: 12640
diff changeset
   138
22206
6122ad50e38f rebase: use "rebase.collapse" as "editform" for "--collapse" always
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20945
diff changeset
   139
  $ cat > $TESTTMP/checkeditform.sh <<EOF
6122ad50e38f rebase: use "rebase.collapse" as "editform" for "--collapse" always
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20945
diff changeset
   140
  > env | grep HGEDITFORM
6122ad50e38f rebase: use "rebase.collapse" as "editform" for "--collapse" always
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20945
diff changeset
   141
  > true
6122ad50e38f rebase: use "rebase.collapse" as "editform" for "--collapse" always
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20945
diff changeset
   142
  > EOF
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   143
  $ HGEDITOR="sh $TESTTMP/checkeditform.sh" hg rebase --source B --collapse -m 'custom message' -e --dest D
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   144
  rebasing 1:112478962961 "B" (B)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   145
  rebasing 3:26805aba1e60 "C" (C tip)
22206
6122ad50e38f rebase: use "rebase.collapse" as "editform" for "--collapse" always
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 20945
diff changeset
   146
  HGEDITFORM=rebase.collapse
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   147
  saved backup bundle to $TESTTMP/message/.hg/strip-backup/112478962961-f4131707-rebase.hg
13661
ee349e228835 rebase: add -m/--message to rebase --collapse (issue2389)
Radomir Dopieralski <sheep@stxnext.pl>
parents: 12640
diff changeset
   148
ee349e228835 rebase: add -m/--message to rebase --collapse (issue2389)
Radomir Dopieralski <sheep@stxnext.pl>
parents: 12640
diff changeset
   149
  $ hg tglog
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   150
  o  2: 2f197b9a08f3 'custom message'
13661
ee349e228835 rebase: add -m/--message to rebase --collapse (issue2389)
Radomir Dopieralski <sheep@stxnext.pl>
parents: 12640
diff changeset
   151
  |
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   152
  o  1: b18e25de2cf5 'D'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   153
  |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   154
  o  0: 426bada5c675 'A'
13661
ee349e228835 rebase: add -m/--message to rebase --collapse (issue2389)
Radomir Dopieralski <sheep@stxnext.pl>
parents: 12640
diff changeset
   155
  
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18778
diff changeset
   156
  $ hg manifest --rev tip
13661
ee349e228835 rebase: add -m/--message to rebase --collapse (issue2389)
Radomir Dopieralski <sheep@stxnext.pl>
parents: 12640
diff changeset
   157
  A
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   158
  B
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   159
  C
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   160
  D
13661
ee349e228835 rebase: add -m/--message to rebase --collapse (issue2389)
Radomir Dopieralski <sheep@stxnext.pl>
parents: 12640
diff changeset
   161
ee349e228835 rebase: add -m/--message to rebase --collapse (issue2389)
Radomir Dopieralski <sheep@stxnext.pl>
parents: 12640
diff changeset
   162
  $ cd ..
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   163
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   164
Rebase and collapse - more than one external (fail):
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   165
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   166
  $ hg init multiple-external-parents
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   167
  $ cd multiple-external-parents
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   168
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   169
  $ hg debugdrawdag << 'EOF'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   170
  >   G
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   171
  >   |\
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   172
  >   | F
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   173
  >   | |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   174
  >   D E
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   175
  >   |\|
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   176
  > H C B
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   177
  >  \|/
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   178
  >   A
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   179
  > EOF
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   180
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   181
  $ hg rebase -s C --dest H --collapse
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   182
  abort: unable to collapse on top of 3, there is more than one external parent: 1, 6
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   183
  [255]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   184
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   185
Rebase and collapse - E onto H:
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   186
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   187
  $ hg rebase -s E --dest I --collapse # root (E) is not a merge
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   188
  abort: unknown revision 'I'!
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   189
  [255]
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   190
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   191
  $ hg tglog
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   192
  o    7: 64e264db77f0 'G'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   193
  |\
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   194
  | o  6: 11abe3fb10b8 'F'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   195
  | |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   196
  | o  5: 49cb92066bfd 'E'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   197
  | |
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   198
  o |  4: 4e4f9194f9f1 'D'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   199
  |\|
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   200
  | | o  3: 575c4b5ec114 'H'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   201
  | | |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   202
  o---+  2: dc0947a82db8 'C'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   203
   / /
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   204
  o /  1: 112478962961 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   205
  |/
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   206
  o  0: 426bada5c675 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   207
  
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18778
diff changeset
   208
  $ hg manifest --rev tip
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   209
  A
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   210
  B
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   211
  C
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   212
  E
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   213
  F
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   214
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   215
  $ cd ..
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
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   218
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   219
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   220
Test that branchheads cache is updated correctly when doing a strip in which
18395
904b7109938e destroyed: drop complex branchcache rebuilt logic
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18382
diff changeset
   221
the parent of the ancestor node to be stripped does not become a head and also,
904b7109938e destroyed: drop complex branchcache rebuilt logic
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18382
diff changeset
   222
the parent of a node that is a child of the node stripped becomes a head (node
904b7109938e destroyed: drop complex branchcache rebuilt logic
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18382
diff changeset
   223
3). The code is now much simpler and we could just test a simpler scenario
904b7109938e destroyed: drop complex branchcache rebuilt logic
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 18382
diff changeset
   224
We keep it the test this way in case new complexity is injected.
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   225
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   226
Create repo b:
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   227
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   228
  $ hg init branch-heads
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   229
  $ cd branch-heads
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   230
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   231
  $ hg debugdrawdag << 'EOF'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   232
  >   G
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   233
  >   |\
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   234
  >   | F
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   235
  >   | |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   236
  >   D E
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   237
  >   |\|
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   238
  > H C B
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   239
  >  \|/
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   240
  >   A
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   241
  > EOF
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   242
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   243
  $ hg heads --template="{rev}:{node} {branch}\n"
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   244
  7:64e264db77f061f16d9132b70c5a58e2461fb630 default
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   245
  3:575c4b5ec114d64b681d33f8792853568bfb2b2c default
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   246
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   247
  $ cat $TESTTMP/branch-heads/.hg/cache/branch2-served
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   248
  64e264db77f061f16d9132b70c5a58e2461fb630 7
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   249
  575c4b5ec114d64b681d33f8792853568bfb2b2c o default
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   250
  64e264db77f061f16d9132b70c5a58e2461fb630 o default
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   251
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   252
  $ hg strip 4
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   253
  saved backup bundle to $TESTTMP/branch-heads/.hg/strip-backup/4e4f9194f9f1-5ec4b5e6-backup.hg
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   254
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   255
  $ cat $TESTTMP/branch-heads/.hg/cache/branch2-served
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   256
  11abe3fb10b8689b560681094b17fe161871d043 5
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   257
  dc0947a82db884575bb76ea10ac97b08536bfa03 o default
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   258
  575c4b5ec114d64b681d33f8792853568bfb2b2c o default
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   259
  11abe3fb10b8689b560681094b17fe161871d043 o default
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   260
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   261
  $ hg heads --template="{rev}:{node} {branch}\n"
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   262
  5:11abe3fb10b8689b560681094b17fe161871d043 default
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   263
  3:575c4b5ec114d64b681d33f8792853568bfb2b2c default
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   264
  2:dc0947a82db884575bb76ea10ac97b08536bfa03 default
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   265
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   266
  $ cd ..
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   267
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   268
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   269
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   270
Preserves external parent
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   271
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   272
  $ hg init external-parent
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   273
  $ cd external-parent
7278
45495d784ad6 rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6910
diff changeset
   274
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   275
  $ hg debugdrawdag << 'EOF'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   276
  >   H
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   277
  >   |\
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   278
  >   | G
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   279
  >   | |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   280
  >   | F # F/E = F\n
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   281
  >   | |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   282
  >   D E # D/D = D\n
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   283
  >   |\|
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   284
  > I C B
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   285
  >  \|/
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   286
  >   A
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   287
  > EOF
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   288
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   289
  $ hg rebase -s F --dest I --collapse # root (F) is not a merge
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   290
  rebasing 6:c82b08f646f1 "F" (F)
44095
e733c59f3c09 rebase: fix bug where `--collapse` would apply diff on missing file
Martin von Zweigbergk <martinvonz@google.com>
parents: 43934
diff changeset
   291
  file 'E' was deleted in local [dest] but was modified in other [source].
e733c59f3c09 rebase: fix bug where `--collapse` would apply diff on missing file
Martin von Zweigbergk <martinvonz@google.com>
parents: 43934
diff changeset
   292
  You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved.
e733c59f3c09 rebase: fix bug where `--collapse` would apply diff on missing file
Martin von Zweigbergk <martinvonz@google.com>
parents: 43934
diff changeset
   293
  What do you want to do? u
e733c59f3c09 rebase: fix bug where `--collapse` would apply diff on missing file
Martin von Zweigbergk <martinvonz@google.com>
parents: 43934
diff changeset
   294
  unresolved conflicts (see hg resolve, then hg rebase --continue)
e733c59f3c09 rebase: fix bug where `--collapse` would apply diff on missing file
Martin von Zweigbergk <martinvonz@google.com>
parents: 43934
diff changeset
   295
  [1]
e733c59f3c09 rebase: fix bug where `--collapse` would apply diff on missing file
Martin von Zweigbergk <martinvonz@google.com>
parents: 43934
diff changeset
   296
e733c59f3c09 rebase: fix bug where `--collapse` would apply diff on missing file
Martin von Zweigbergk <martinvonz@google.com>
parents: 43934
diff changeset
   297
  $ echo F > E
e733c59f3c09 rebase: fix bug where `--collapse` would apply diff on missing file
Martin von Zweigbergk <martinvonz@google.com>
parents: 43934
diff changeset
   298
  $ hg resolve -m
e733c59f3c09 rebase: fix bug where `--collapse` would apply diff on missing file
Martin von Zweigbergk <martinvonz@google.com>
parents: 43934
diff changeset
   299
  (no more unresolved files)
e733c59f3c09 rebase: fix bug where `--collapse` would apply diff on missing file
Martin von Zweigbergk <martinvonz@google.com>
parents: 43934
diff changeset
   300
  continue: hg rebase --continue
e733c59f3c09 rebase: fix bug where `--collapse` would apply diff on missing file
Martin von Zweigbergk <martinvonz@google.com>
parents: 43934
diff changeset
   301
  $ hg rebase -c
e733c59f3c09 rebase: fix bug where `--collapse` would apply diff on missing file
Martin von Zweigbergk <martinvonz@google.com>
parents: 43934
diff changeset
   302
  rebasing 6:c82b08f646f1 "F" (F)
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   303
  rebasing 7:a6db7fa104e1 "G" (G)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   304
  rebasing 8:e1d201b72d91 "H" (H tip)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   305
  saved backup bundle to $TESTTMP/external-parent/.hg/strip-backup/c82b08f646f1-f2721fbf-rebase.hg
7278
45495d784ad6 rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6910
diff changeset
   306
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   307
  $ hg tglog
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   308
  o    6: 681daa3e686d 'Collapsed revision
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   309
  |\   * F
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   310
  | |  * G
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   311
  | |  * H'
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   312
  | | o  5: 49cb92066bfd 'E'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   313
  | | |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   314
  | o |  4: 09143c0bf13e 'D'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   315
  | |\|
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   316
  o | |  3: 08ebfeb61bac 'I'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   317
  | | |
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   318
  | o |  2: dc0947a82db8 'C'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   319
  |/ /
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   320
  | o  1: 112478962961 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   321
  |/
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   322
  o  0: 426bada5c675 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   323
  
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18778
diff changeset
   324
  $ hg manifest --rev tip
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   325
  A
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   326
  C
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   327
  D
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   328
  E
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   329
  F
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   330
  G
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   331
  I
7278
45495d784ad6 rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6910
diff changeset
   332
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18778
diff changeset
   333
  $ hg up tip -q
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   334
  $ cat E
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   335
  F
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   336
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   337
  $ cd ..
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   338
37030
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   339
Rebasing from multiple bases:
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   340
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   341
  $ hg init multiple-bases
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   342
  $ cd multiple-bases
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   343
  $ hg debugdrawdag << 'EOF'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   344
  >   C B
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   345
  > D |/
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   346
  > |/
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   347
  > A
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   348
  > EOF
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   349
  $ hg rebase --collapse -r 'B+C' -d D
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   350
  rebasing 1:fc2b737bb2e5 "B" (B)
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   351
  rebasing 2:dc0947a82db8 "C" (C)
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   352
  saved backup bundle to $TESTTMP/multiple-bases/.hg/strip-backup/dc0947a82db8-b0c1a7ea-rebase.hg
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   353
  $ hg tglog
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   354
  o  2: 2127ae44d291 'Collapsed revision
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   355
  |  * B
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   356
  |  * C'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   357
  o  1: b18e25de2cf5 'D'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   358
  |
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   359
  o  0: 426bada5c675 'A'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   360
  
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   361
  $ cd ..
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   362
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   363
With non-contiguous commits:
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   364
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   365
  $ hg init non-contiguous
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   366
  $ cd non-contiguous
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   367
  $ cat >> .hg/hgrc <<EOF
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   368
  > [experimental]
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   369
  > evolution=all
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   370
  > EOF
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   371
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   372
  $ hg debugdrawdag << 'EOF'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   373
  > F
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   374
  > |
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   375
  > E
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   376
  > |
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   377
  > D
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   378
  > |
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   379
  > C
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   380
  > |
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   381
  > B G
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   382
  > |/
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   383
  > A
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   384
  > EOF
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   385
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   386
BROKEN: should be allowed
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   387
  $ hg rebase --collapse -r 'B+D+F' -d G
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   388
  abort: unable to collapse on top of 2, there is more than one external parent: 3, 5
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   389
  [255]
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   390
  $ cd ..
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   391
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   392
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   393
  $ hg init multiple-external-parents-2
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   394
  $ cd multiple-external-parents-2
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   395
  $ hg debugdrawdag << 'EOF'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   396
  > D       G
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   397
  > |\     /|
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   398
  > B C   E F
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   399
  >  \|   |/
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   400
  >   \ H /
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   401
  >    \|/
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   402
  >     A
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   403
  > EOF
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   404
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   405
  $ hg rebase --collapse -d H -s 'B+F'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   406
  abort: unable to collapse on top of 5, there is more than one external parent: 1, 3
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   407
  [255]
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   408
  $ cd ..
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   409
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   410
With internal merge:
7278
45495d784ad6 rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6910
diff changeset
   411
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   412
  $ hg init internal-merge
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   413
  $ cd internal-merge
7278
45495d784ad6 rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6910
diff changeset
   414
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   415
  $ hg debugdrawdag << 'EOF'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   416
  >   E
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   417
  >   |\
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   418
  >   C D
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   419
  >   |/
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   420
  > F B
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   421
  > |/
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   422
  > A
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   423
  > EOF
7278
45495d784ad6 rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6910
diff changeset
   424
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   425
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   426
  $ hg rebase -s B --collapse --dest F
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   427
  rebasing 1:112478962961 "B" (B)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   428
  rebasing 3:26805aba1e60 "C" (C)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   429
  rebasing 4:be0ef73c17ad "D" (D)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   430
  rebasing 5:02c4367d6973 "E" (E tip)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   431
  saved backup bundle to $TESTTMP/internal-merge/.hg/strip-backup/112478962961-1dfb057b-rebase.hg
7278
45495d784ad6 rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6910
diff changeset
   432
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   433
  $ hg tglog
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   434
  o  2: c0512a1797b0 'Collapsed revision
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   435
  |  * B
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   436
  |  * C
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   437
  |  * D
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   438
  |  * E'
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   439
  o  1: 8908a377a434 'F'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   440
  |
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   441
  o  0: 426bada5c675 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   442
  
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18778
diff changeset
   443
  $ hg manifest --rev tip
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   444
  A
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   445
  B
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   446
  C
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   447
  D
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   448
  F
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   449
  $ cd ..
7278
45495d784ad6 rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 6910
diff changeset
   450
14897
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   451
Interactions between collapse and keepbranches
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   452
  $ hg init e
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   453
  $ cd e
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   454
  $ echo 'a' > a
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   455
  $ hg ci -Am 'A'
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   456
  adding a
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   457
18566
341868ef0cf6 bookmark: don't allow integers as bookmark/branch/tag names
Durham Goode <durham@fb.com>
parents: 18395
diff changeset
   458
  $ hg branch 'one'
341868ef0cf6 bookmark: don't allow integers as bookmark/branch/tag names
Durham Goode <durham@fb.com>
parents: 18395
diff changeset
   459
  marked working directory as branch one
15615
41885892796e branch: warn on branching
Matt Mackall <mpm@selenic.com>
parents: 15267
diff changeset
   460
  (branches are permanent and global, did you want a bookmark?)
14897
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   461
  $ echo 'b' > b
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   462
  $ hg ci -Am 'B'
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   463
  adding b
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   464
18566
341868ef0cf6 bookmark: don't allow integers as bookmark/branch/tag names
Durham Goode <durham@fb.com>
parents: 18395
diff changeset
   465
  $ hg branch 'two'
341868ef0cf6 bookmark: don't allow integers as bookmark/branch/tag names
Durham Goode <durham@fb.com>
parents: 18395
diff changeset
   466
  marked working directory as branch two
14897
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   467
  $ echo 'c' > c
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   468
  $ hg ci -Am 'C'
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   469
  adding c
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   470
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   471
  $ hg up -q 0
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   472
  $ echo 'd' > d
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   473
  $ hg ci -Am 'D'
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   474
  adding d
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   475
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   476
  $ hg tglog
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
   477
  @  3: 41acb9dca9eb 'D'
14897
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   478
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
   479
  | o  2: 8ac4a08debf1 'C' two
14897
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   480
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
   481
  | o  1: 1ba175478953 'B' one
14897
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   482
  |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
   483
  o  0: 1994f17a630e 'A'
14897
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   484
  
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   485
  $ hg rebase --keepbranches --collapse -s 1 -d 3
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   486
  abort: cannot collapse multiple named branches
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   487
  [255]
b9daa5b7a3af rebase: block collapse with keepbranches on multiple named branches (issue2112)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents: 14119
diff changeset
   488
16551
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   489
  $ cd ..
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   490
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   491
Rebase, collapse and copies
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   492
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   493
  $ hg init copies
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   494
  $ cd copies
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   495
  $ hg unbundle "$TESTDIR/bundles/renames.hg"
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   496
  adding changesets
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   497
  adding manifests
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   498
  adding file changes
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   499
  added 4 changesets with 11 changes to 7 files (+1 heads)
39480
89630d0b3e23 phase: report number of non-public changeset alongside the new range
Boris Feld <boris.feld@octobus.net>
parents: 37032
diff changeset
   500
  new changesets f447d5abf5ea:338e84e2e558 (4 drafts)
16551
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   501
  (run 'hg heads' to see heads, 'hg merge' to merge)
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   502
  $ hg up -q tip
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   503
  $ hg tglog
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
   504
  @  3: 338e84e2e558 'move2'
16551
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   505
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
   506
  o  2: 6e7340ee38c0 'move1'
16551
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   507
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
   508
  | o  1: 1352765a01d4 'change'
16551
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   509
  |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
   510
  o  0: f447d5abf5ea 'add'
16551
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   511
  
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   512
  $ hg rebase --collapse -d 1
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   513
  rebasing 2:6e7340ee38c0 "move1"
16551
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   514
  merging a and d to d
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   515
  merging b and e to e
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   516
  merging c and f to f
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   517
  rebasing 3:338e84e2e558 "move2" (tip)
20945
18adc15635a1 merge: keep destination filename as key in filemerge actions
Mads Kiilerich <madski@unity3d.com>
parents: 20766
diff changeset
   518
  merging f and c to c
16551
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   519
  merging e and g to g
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35385
diff changeset
   520
  saved backup bundle to $TESTTMP/copies/.hg/strip-backup/6e7340ee38c0-ef8ef003-rebase.hg
16551
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   521
  $ hg st
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18778
diff changeset
   522
  $ hg st --copies --change tip
16551
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   523
  A d
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   524
    a
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   525
  A g
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   526
    b
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   527
  R b
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18778
diff changeset
   528
  $ hg up tip -q
16551
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   529
  $ cat c
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   530
  c
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   531
  c
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   532
  $ cat d
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   533
  a
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   534
  a
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   535
  $ cat g
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   536
  b
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   537
  b
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   538
  $ hg log -r . --template "{file_copies}\n"
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   539
  d (a)g (b)
16696
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   540
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   541
Test collapsing a middle revision in-place
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   542
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   543
  $ hg tglog
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
   544
  @  2: 64b456429f67 'Collapsed revision
16696
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   545
  |  * move1
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   546
  |  * move2'
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
   547
  o  1: 1352765a01d4 'change'
16696
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   548
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 34661
diff changeset
   549
  o  0: f447d5abf5ea 'add'
16696
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   550
  
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   551
  $ hg rebase --collapse -r 1 -d 0
43934
71fee4564410 rebase: use rewriteutil.precheck() instead of reimplementing it
Martin von Zweigbergk <martinvonz@google.com>
parents: 41195
diff changeset
   552
  abort: cannot rebase changeset with children
16696
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   553
  (use --keep to keep original changesets)
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   554
  [255]
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   555
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   556
Test collapsing in place
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   557
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   558
  $ hg rebase --collapse -b . -d 0
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   559
  rebasing 1:1352765a01d4 "change"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   560
  rebasing 2:64b456429f67 "Collapsed revision" (tip)
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35385
diff changeset
   561
  saved backup bundle to $TESTTMP/copies/.hg/strip-backup/1352765a01d4-45a352ea-rebase.hg
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18778
diff changeset
   562
  $ hg st --change tip --copies
16696
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   563
  M a
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   564
  M c
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   565
  A d
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   566
    a
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   567
  A g
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   568
    b
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   569
  R b
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18778
diff changeset
   570
  $ hg up tip -q
16696
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   571
  $ cat a
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   572
  a
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   573
  a
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   574
  $ cat c
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   575
  c
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   576
  c
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   577
  $ cat d
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   578
  a
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   579
  a
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   580
  $ cat g
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   581
  b
d1afbf03e69a rebase: allow collapsing branches in place (issue3111)
Patrick Mezard <patrick@mezard.eu>
parents: 16551
diff changeset
   582
  b
16551
ebf6d38c9063 localrepo: add setparents() to adjust dirstate copies (issue3407)
Patrick Mezard <patrick@mezard.eu>
parents: 16350
diff changeset
   583
  $ cd ..
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   584
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   585
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   586
Test stripping a revision with another child
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   587
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   588
  $ hg init f
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   589
  $ cd f
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   590
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   591
  $ hg debugdrawdag << 'EOF'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   592
  > C B
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   593
  > |/
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   594
  > A
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   595
  > EOF
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   596
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   597
  $ hg heads --template="{rev}:{node} {branch}: {desc}\n"
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   598
  2:dc0947a82db884575bb76ea10ac97b08536bfa03 default: C
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   599
  1:112478962961147124edd43549aedd1a335e44bf default: B
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   600
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   601
  $ hg strip C
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   602
  saved backup bundle to $TESTTMP/f/.hg/strip-backup/dc0947a82db8-d21b92a4-backup.hg
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   603
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   604
  $ hg tglog
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   605
  o  1: 112478962961 'B'
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   606
  |
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   607
  o  0: 426bada5c675 'A'
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   608
  
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   609
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   610
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   611
  $ hg heads --template="{rev}:{node} {branch}: {desc}\n"
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   612
  1:112478962961147124edd43549aedd1a335e44bf default: B
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   613
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   614
  $ cd ..
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   615
18778
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   616
Test collapsing changes that add then remove a file
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   617
18778
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   618
  $ hg init collapseaddremove
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   619
  $ cd collapseaddremove
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   620
18778
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   621
  $ touch base
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   622
  $ hg commit -Am base
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   623
  adding base
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   624
  $ touch a
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   625
  $ hg commit -Am a
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   626
  adding a
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   627
  $ hg rm a
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   628
  $ touch b
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   629
  $ hg commit -Am b
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   630
  adding b
19986
ea81f8b2364e rebase: fix working copy location after a --collapse (issue4080)
Durham Goode <durham@fb.com>
parents: 19956
diff changeset
   631
  $ hg book foo
18778
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   632
  $ hg rebase -d 0 -r "1::2" --collapse -m collapsed
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 23516
diff changeset
   633
  rebasing 1:6d8d9f24eec3 "a"
34290
4f969b9e0cf5 rebase: also include other namespaces in changeset description
Martin von Zweigbergk <martinvonz@google.com>
parents: 33332
diff changeset
   634
  rebasing 2:1cc73eca5ecc "b" (foo tip)
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35385
diff changeset
   635
  saved backup bundle to $TESTTMP/collapseaddremove/.hg/strip-backup/6d8d9f24eec3-77d3b6e2-rebase.hg
19986
ea81f8b2364e rebase: fix working copy location after a --collapse (issue4080)
Durham Goode <durham@fb.com>
parents: 19956
diff changeset
   636
  $ hg log -G --template "{rev}: '{desc}' {bookmarks}"
ea81f8b2364e rebase: fix working copy location after a --collapse (issue4080)
Durham Goode <durham@fb.com>
parents: 19956
diff changeset
   637
  @  1: 'collapsed' foo
18778
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   638
  |
19986
ea81f8b2364e rebase: fix working copy location after a --collapse (issue4080)
Durham Goode <durham@fb.com>
parents: 19956
diff changeset
   639
  o  0: 'base'
18778
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   640
  
19924
c23c62209cc4 tests: prepare rebase test for wc parent preservation
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 18778
diff changeset
   641
  $ hg manifest --rev tip
18778
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   642
  b
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   643
  base
17013
c8eda7bbdcab strip: incrementally update the branchheads cache after a strip
Joshua Redstone <joshua.redstone@fb.com>
parents: 17005
diff changeset
   644
18778
1ef89df2c248 rebase: fix --collapse when a file was added then removed
Durham Goode <durham@fb.com>
parents: 18648
diff changeset
   645
  $ cd ..
28185
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   646
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   647
Test that rebase --collapse will remember message after
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   648
running into merge conflict and invoking rebase --continue.
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   649
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   650
  $ hg init collapse_remember_message
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   651
  $ cd collapse_remember_message
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   652
  $ hg debugdrawdag << 'EOF'
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   653
  > C B # B/A = B\n
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   654
  > |/  # C/A = C\n
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   655
  > A
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   656
  > EOF
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   657
  $ hg rebase --collapse -m "new message" -b B -d C
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   658
  rebasing 1:81e5401e4d37 "B" (B)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   659
  merging A
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   660
  warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
28185
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   661
  unresolved conflicts (see hg resolve, then hg rebase --continue)
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   662
  [1]
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   663
  $ rm A.orig
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   664
  $ hg resolve --mark A
28185
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   665
  (no more unresolved files)
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   666
  continue: hg rebase --continue
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   667
  $ hg rebase --continue
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   668
  rebasing 1:81e5401e4d37 "B" (B)
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   669
  saved backup bundle to $TESTTMP/collapse_remember_message/.hg/strip-backup/81e5401e4d37-96c3dd30-rebase.hg
28185
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   670
  $ hg log
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   671
  changeset:   2:17186933e123
28185
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   672
  tag:         tip
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   673
  user:        test
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   674
  date:        Thu Jan 01 00:00:00 1970 +0000
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   675
  summary:     new message
28185
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   676
  
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   677
  changeset:   1:043039e9df84
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   678
  tag:         C
28185
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   679
  user:        test
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   680
  date:        Thu Jan 01 00:00:00 1970 +0000
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   681
  summary:     C
28185
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   682
  
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   683
  changeset:   0:426bada5c675
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   684
  tag:         A
28185
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   685
  user:        test
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   686
  date:        Thu Jan 01 00:00:00 1970 +0000
37029
dd2833e4d660 tests: use drawdag in test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   687
  summary:     A
28185
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   688
  
c7e8948627f3 rebase: adds storing collapse message (issue4792)
liscju <piotr.listkiewicz@gmail.com>
parents: 28101
diff changeset
   689
  $ cd ..
37030
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   690
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   691
Test aborted editor on final message
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   692
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   693
  $ HGMERGE=:merge3
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   694
  $ export HGMERGE
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   695
  $ hg init aborted-editor
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   696
  $ cd aborted-editor
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   697
  $ hg debugdrawdag << 'EOF'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   698
  > C   # D/A = D\n
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   699
  > |   # C/A = C\n
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   700
  > B D # B/A = B\n
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   701
  > |/  # A/A = A\n
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   702
  > A
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   703
  > EOF
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   704
  $ hg rebase --collapse -t internal:merge3 -s B -d D
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   705
  rebasing 1:f899f3910ce7 "B" (B)
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   706
  merging A
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   707
  warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   708
  unresolved conflicts (see hg resolve, then hg rebase --continue)
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   709
  [1]
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   710
  $ hg tglog
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   711
  o  3: 63668d570d21 'C'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   712
  |
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   713
  | @  2: 82b8abf9c185 'D'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   714
  | |
44347
9c9cfecd4600 rebase: don't use rebased node as dirstate p2 (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 44345
diff changeset
   715
  % |  1: f899f3910ce7 'B'
37030
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   716
  |/
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   717
  o  0: 4a2df7238c3b 'A'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   718
  
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   719
  $ cat A
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   720
  <<<<<<< dest:   82b8abf9c185 D - test: D
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   721
  D
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   722
  ||||||| base
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   723
  A
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   724
  =======
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   725
  B
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   726
  >>>>>>> source: f899f3910ce7 B - test: B
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   727
  $ echo BC > A
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   728
  $ hg resolve -m
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   729
  (no more unresolved files)
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   730
  continue: hg rebase --continue
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   731
  $ hg rebase --continue
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   732
  rebasing 1:f899f3910ce7 "B" (B)
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   733
  rebasing 3:63668d570d21 "C" (C tip)
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   734
  merging A
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   735
  warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   736
  unresolved conflicts (see hg resolve, then hg rebase --continue)
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   737
  [1]
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   738
  $ hg tglog
44347
9c9cfecd4600 rebase: don't use rebased node as dirstate p2 (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 44345
diff changeset
   739
  %  3: 63668d570d21 'C'
37030
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   740
  |
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   741
  | @  2: 82b8abf9c185 'D'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   742
  | |
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   743
  o |  1: f899f3910ce7 'B'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   744
  |/
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   745
  o  0: 4a2df7238c3b 'A'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   746
  
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   747
  $ cat A
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   748
  <<<<<<< dest:   82b8abf9c185 D - test: D
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   749
  BC
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   750
  ||||||| base
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   751
  B
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   752
  =======
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   753
  C
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   754
  >>>>>>> source: 63668d570d21 C tip - test: C
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   755
  $ echo BD > A
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   756
  $ hg resolve -m
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   757
  (no more unresolved files)
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   758
  continue: hg rebase --continue
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   759
  $ HGEDITOR=false hg rebase --continue --config ui.interactive=1
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   760
  already rebased 1:f899f3910ce7 "B" (B) as 82b8abf9c185
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   761
  rebasing 3:63668d570d21 "C" (C tip)
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   762
  abort: edit failed: false exited with status 1
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   763
  [255]
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   764
  $ hg tglog
44345
14d0e89520a2 graphlog: use '%' for other context in merge conflict
Martin von Zweigbergk <martinvonz@google.com>
parents: 44146
diff changeset
   765
  %  3: 63668d570d21 'C'
37030
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   766
  |
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   767
  | @  2: 82b8abf9c185 'D'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   768
  | |
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   769
  o |  1: f899f3910ce7 'B'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   770
  |/
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   771
  o  0: 4a2df7238c3b 'A'
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   772
  
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   773
  $ hg rebase --continue
9cc9b3e155f8 tests: add some more tests to test-rebase-collapse.t
Martin von Zweigbergk <martinvonz@google.com>
parents: 37029
diff changeset
   774
  already rebased 1:f899f3910ce7 "B" (B) as 82b8abf9c185
37032
98663bed146e rebase: store rebase state after each commit
Martin von Zweigbergk <martinvonz@google.com>
parents: 37030
diff changeset
   775
  already rebased 3:63668d570d21 "C" (C tip) as 82b8abf9c185
98663bed146e rebase: store rebase state after each commit
Martin von Zweigbergk <martinvonz@google.com>
parents: 37030
diff changeset
   776
  saved backup bundle to $TESTTMP/aborted-editor/.hg/strip-backup/f899f3910ce7-7cab5e15-rebase.hg