tests/test-rebase-interruptions.t
author Simon Sapin <simon.sapin@octobus.net>
Fri, 07 Jan 2022 14:40:21 +0100
changeset 48575 e91aa800ae5b
parent 46485 768056549737
permissions -rw-r--r--
rhg: desambiguate status without decompressing filelog if possible When status is unsure based on `stat()` and the dirstate if a file is clean or modified, we need to compare it against the filelog. This comparison can skip looking at contents if the lengths differ. This changeset optimize this further to deduce what we can about the length if the filelog without decompressing it or resolving deltas. Differential Revision: https://phab.mercurial-scm.org/D11965
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=
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     4
  > 
15742
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15501
diff changeset
     5
  > [phases]
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15501
diff changeset
     6
  > publish=False
65df60a3f96b phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 15501
diff changeset
     7
  > 
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     8
  > [alias]
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
     9
  > 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: 33332
diff changeset
    10
  > 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
    11
  > EOF
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    12
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    13
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    14
  $ hg init a
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    15
  $ cd a
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    16
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    17
  $ echo A > A
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    18
  $ hg ci -Am A
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    19
  adding A
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    20
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    21
  $ echo B > B
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    22
  $ hg ci -Am B
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    23
  adding B
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    24
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    25
  $ echo C >> A
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    26
  $ hg ci -m C
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    27
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    28
  $ hg up -q -C 0
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    29
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    30
  $ echo D >> A
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    31
  $ hg ci -m D
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    32
  created new head
6910
93609576244e Debashify rebase tests
Brendan Cully <brendan@kublai.com>
parents: 6906
diff changeset
    33
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    34
  $ echo E > E
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    35
  $ hg ci -Am E
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    36
  adding E
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    37
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    38
  $ cd ..
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    39
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    40
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    41
Changes during an interruption - continue:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    42
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    43
  $ hg clone -q -u . a a1
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    44
  $ cd a1
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    45
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    46
  $ hg tglog
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
    47
  @  4: ae36e8e3dfd7 'E'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    48
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
    49
  o  3: 46b37eabc604 'D'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    50
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
    51
  | o  2: 965c486023db 'C'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    52
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
    53
  | o  1: 27547f69f254 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    54
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
    55
  o  0: 4a2df7238c3b 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    56
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    57
Rebasing B onto E:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    58
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    59
  $ hg rebase -s 1 -d 4
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
    60
  rebasing 1:27547f69f254 "B"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
    61
  rebasing 2:965c486023db "C"
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    62
  merging A
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 25411
diff changeset
    63
  warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 44668
diff changeset
    64
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45794
diff changeset
    65
  [240]
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    66
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    67
Force a commit on C during the interruption:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    68
19478
e5a5790a3185 rebase: add checkunfinished support (issue3955)
Matt Mackall <mpm@selenic.com>
parents: 18935
diff changeset
    69
  $ hg up -q -C 2 --config 'extensions.rebase=!'
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    70
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    71
  $ echo 'Extra' > Extra
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    72
  $ hg add Extra
19478
e5a5790a3185 rebase: add checkunfinished support (issue3955)
Matt Mackall <mpm@selenic.com>
parents: 18935
diff changeset
    73
  $ hg ci -m 'Extra' --config 'extensions.rebase=!'
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
    74
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    75
Force this commit onto secret phase
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    76
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    77
  $ hg phase --force --secret 6
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    78
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    79
  $ hg tglogp
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
    80
  @  6: deb5d2f93d8b secret 'Extra'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    81
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
    82
  | o  5: 45396c49d53b draft 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    83
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
    84
  | o  4: ae36e8e3dfd7 draft 'E'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    85
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
    86
  | o  3: 46b37eabc604 draft 'D'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    87
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
    88
  o |  2: 965c486023db draft 'C'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    89
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
    90
  o |  1: 27547f69f254 draft 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    91
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
    92
  o  0: 4a2df7238c3b draft 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    93
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    94
Resume the rebasing:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    95
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    96
  $ hg rebase --continue
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
    97
  already rebased 1:27547f69f254 "B" as 45396c49d53b
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
    98
  rebasing 2:965c486023db "C"
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    99
  merging A
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 25411
diff changeset
   100
  warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 44668
diff changeset
   101
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45794
diff changeset
   102
  [240]
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   103
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   104
Solve the conflict and go on:
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   105
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   106
  $ echo 'conflict solved' > A
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   107
  $ rm A.orig
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   108
  $ hg resolve -m A
21947
b081decd9062 resolve: add parenthesis around "no more unresolved files" message
Pierre-Yves David <pierre-yves.david@fb.com>
parents: 21267
diff changeset
   109
  (no more unresolved files)
27626
157675d0f600 rebase: hook afterresolvedstates
timeless <timeless@mozdev.org>
parents: 26614
diff changeset
   110
  continue: hg rebase --continue
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   111
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   112
  $ hg rebase --continue
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   113
  already rebased 1:27547f69f254 "B" as 45396c49d53b
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   114
  rebasing 2:965c486023db "C"
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33175
diff changeset
   115
  warning: orphaned descendants detected, not stripping 27547f69f254, 965c486023db
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   116
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   117
  $ hg tglogp
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   118
  o  7: d2d25e26288e draft 'C'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   119
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   120
  | o  6: deb5d2f93d8b secret 'Extra'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   121
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   122
  o |  5: 45396c49d53b draft 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   123
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   124
  @ |  4: ae36e8e3dfd7 draft 'E'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   125
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   126
  o |  3: 46b37eabc604 draft 'D'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   127
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   128
  | o  2: 965c486023db draft 'C'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   129
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   130
  | o  1: 27547f69f254 draft 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   131
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   132
  o  0: 4a2df7238c3b draft 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   133
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   134
  $ cd ..
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   135
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   136
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   137
Changes during an interruption - abort:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   138
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   139
  $ hg clone -q -u . a a2
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   140
  $ cd a2
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   141
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   142
  $ hg tglog
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   143
  @  4: ae36e8e3dfd7 'E'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   144
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   145
  o  3: 46b37eabc604 'D'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   146
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   147
  | o  2: 965c486023db 'C'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   148
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   149
  | o  1: 27547f69f254 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   150
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   151
  o  0: 4a2df7238c3b 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   152
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   153
Rebasing B onto E:
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   154
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   155
  $ hg rebase -s 1 -d 4
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   156
  rebasing 1:27547f69f254 "B"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   157
  rebasing 2:965c486023db "C"
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   158
  merging A
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 25411
diff changeset
   159
  warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 44668
diff changeset
   160
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45794
diff changeset
   161
  [240]
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   162
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   163
Force a commit on B' during the interruption:
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   164
19478
e5a5790a3185 rebase: add checkunfinished support (issue3955)
Matt Mackall <mpm@selenic.com>
parents: 18935
diff changeset
   165
  $ hg up -q -C 5 --config 'extensions.rebase=!'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   166
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   167
  $ echo 'Extra' > Extra
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   168
  $ hg add Extra
19478
e5a5790a3185 rebase: add checkunfinished support (issue3955)
Matt Mackall <mpm@selenic.com>
parents: 18935
diff changeset
   169
  $ hg ci -m 'Extra' --config 'extensions.rebase=!'
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   170
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   171
  $ hg tglog
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   172
  @  6: 402ee3642b59 'Extra'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   173
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   174
  o  5: 45396c49d53b 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   175
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   176
  o  4: ae36e8e3dfd7 'E'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   177
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   178
  o  3: 46b37eabc604 'D'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   179
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   180
  | o  2: 965c486023db 'C'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   181
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   182
  | o  1: 27547f69f254 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   183
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   184
  o  0: 4a2df7238c3b 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   185
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   186
Abort the rebasing:
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   187
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   188
  $ hg rebase --abort
32289
27e67cfea27f rebase: rename "target" to "destination" in messages
Martin von Zweigbergk <martinvonz@google.com>
parents: 27626
diff changeset
   189
  warning: new changesets detected on destination branch, can't strip
19518
12843143663d rebase: allow aborting when descendants detected
Matt Mackall <mpm@selenic.com>
parents: 19517
diff changeset
   190
  rebase aborted
6906
808f03f61ebe Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff changeset
   191
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   192
  $ hg tglog
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   193
  @  6: 402ee3642b59 'Extra'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   194
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   195
  o  5: 45396c49d53b 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   196
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   197
  o  4: ae36e8e3dfd7 'E'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   198
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   199
  o  3: 46b37eabc604 'D'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   200
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   201
  | o  2: 965c486023db 'C'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   202
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   203
  | o  1: 27547f69f254 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   204
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   205
  o  0: 4a2df7238c3b 'A'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   206
  
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   207
  $ cd ..
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   208
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   209
Changes during an interruption - abort (again):
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   210
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   211
  $ hg clone -q -u . a a3
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   212
  $ cd a3
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   213
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   214
  $ hg tglogp
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   215
  @  4: ae36e8e3dfd7 draft 'E'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   216
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   217
  o  3: 46b37eabc604 draft 'D'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   218
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   219
  | o  2: 965c486023db draft 'C'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   220
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   221
  | o  1: 27547f69f254 draft 'B'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   222
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   223
  o  0: 4a2df7238c3b draft 'A'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   224
  
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   225
Rebasing B onto E:
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   226
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   227
  $ hg rebase -s 1 -d 4
23517
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   228
  rebasing 1:27547f69f254 "B"
4f18e80d9c30 rebase: show more useful status information while rebasing
Mads Kiilerich <madski@unity3d.com>
parents: 21947
diff changeset
   229
  rebasing 2:965c486023db "C"
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   230
  merging A
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 25411
diff changeset
   231
  warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 44668
diff changeset
   232
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45794
diff changeset
   233
  [240]
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   234
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   235
Change phase on B and B'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   236
19478
e5a5790a3185 rebase: add checkunfinished support (issue3955)
Matt Mackall <mpm@selenic.com>
parents: 18935
diff changeset
   237
  $ hg up -q -C 5 --config 'extensions.rebase=!'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   238
  $ hg phase --public 1
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   239
  $ hg phase --public 5
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   240
  $ hg phase --secret -f 2
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   241
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   242
  $ hg tglogp
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   243
  @  5: 45396c49d53b public 'B'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   244
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   245
  o  4: ae36e8e3dfd7 public 'E'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   246
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   247
  o  3: 46b37eabc604 public 'D'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   248
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   249
  | o  2: 965c486023db secret 'C'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   250
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   251
  | o  1: 27547f69f254 public 'B'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   252
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   253
  o  0: 4a2df7238c3b public 'A'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   254
  
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   255
Abort the rebasing:
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   256
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   257
  $ hg rebase --abort
25411
d298805fb639 phases: rewrite "immutable changeset" to "public changeset"
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents: 23517
diff changeset
   258
  warning: can't clean up public changesets 45396c49d53b
19517
eab2ff59481e rebase: continue abort without strip for immutable csets (issue3997)
Matt Mackall <mpm@selenic.com>
parents: 19478
diff changeset
   259
  rebase aborted
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   260
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   261
  $ hg tglogp
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   262
  @  5: 45396c49d53b public 'B'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   263
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   264
  o  4: ae36e8e3dfd7 public 'E'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   265
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   266
  o  3: 46b37eabc604 public 'D'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   267
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   268
  | o  2: 965c486023db secret 'C'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   269
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   270
  | o  1: 27547f69f254 public 'B'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   271
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   272
  o  0: 4a2df7238c3b public 'A'
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   273
  
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   274
Test rebase interrupted by hooks
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   275
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   276
  $ hg up 2
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   277
  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   278
  $ echo F > F
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   279
  $ hg add F
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   280
  $ hg ci -m F
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   281
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   282
  $ cd ..
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   283
44667
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   284
Continue rebase after upgrading from an hg version before 9c9cfecd4600:
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   285
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   286
  $ hg clone -q -u . a a4
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   287
  $ cd a4
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   288
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   289
  $ hg tglog
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   290
  @  4: ae36e8e3dfd7 'E'
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   291
  |
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   292
  o  3: 46b37eabc604 'D'
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   293
  |
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   294
  | o  2: 965c486023db 'C'
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   295
  | |
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   296
  | o  1: 27547f69f254 'B'
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   297
  |/
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   298
  o  0: 4a2df7238c3b 'A'
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   299
  
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   300
  $ hg rebase -s 1 -d 4
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   301
  rebasing 1:27547f69f254 "B"
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   302
  rebasing 2:965c486023db "C"
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   303
  merging A
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   304
  warning: conflicts while merging A! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 44668
diff changeset
   305
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45794
diff changeset
   306
  [240]
44667
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   307
  $ hg tglog
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   308
  @  5: 45396c49d53b 'B'
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   309
  |
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   310
  o  4: ae36e8e3dfd7 'E'
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   311
  |
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   312
  o  3: 46b37eabc604 'D'
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   313
  |
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   314
  | %  2: 965c486023db 'C'
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   315
  | |
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   316
  | o  1: 27547f69f254 'B'
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   317
  |/
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   318
  o  0: 4a2df7238c3b 'A'
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   319
  
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   320
Simulate having run the above with an older hg version by manually setting
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   321
two dirstate parents. We should not get a merge commit when we continue.
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   322
  $ hg debugsetparents 5 2
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   323
  $ echo 'conflict solved' > A
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   324
  $ hg resolve -m A
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   325
  (no more unresolved files)
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   326
  continue: hg rebase --continue
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   327
  $ hg rebase --continue
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   328
  already rebased 1:27547f69f254 "B" as 45396c49d53b
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   329
  rebasing 2:965c486023db "C"
44668
e7af56a0733e rebase: don't create merge when continuing rebase interrupted by old hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 44667
diff changeset
   330
  saved backup bundle to $TESTTMP/a4/.hg/strip-backup/27547f69f254-359abdd7-rebase.hg
44667
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   331
  $ hg tglog
44668
e7af56a0733e rebase: don't create merge when continuing rebase interrupted by old hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 44667
diff changeset
   332
  o  4: d2d25e26288e 'C'
e7af56a0733e rebase: don't create merge when continuing rebase interrupted by old hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 44667
diff changeset
   333
  |
e7af56a0733e rebase: don't create merge when continuing rebase interrupted by old hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 44667
diff changeset
   334
  o  3: 45396c49d53b 'B'
e7af56a0733e rebase: don't create merge when continuing rebase interrupted by old hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 44667
diff changeset
   335
  |
e7af56a0733e rebase: don't create merge when continuing rebase interrupted by old hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 44667
diff changeset
   336
  @  2: ae36e8e3dfd7 'E'
e7af56a0733e rebase: don't create merge when continuing rebase interrupted by old hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 44667
diff changeset
   337
  |
e7af56a0733e rebase: don't create merge when continuing rebase interrupted by old hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 44667
diff changeset
   338
  o  1: 46b37eabc604 'D'
e7af56a0733e rebase: don't create merge when continuing rebase interrupted by old hg
Martin von Zweigbergk <martinvonz@google.com>
parents: 44667
diff changeset
   339
  |
44667
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   340
  o  0: 4a2df7238c3b 'A'
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   341
  
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   342
  $ cd ..
e89b3603d3da tests: demonstrate how continuing rebase after upgrade can result in merge
Martin von Zweigbergk <martinvonz@google.com>
parents: 44381
diff changeset
   343
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   344
(precommit version)
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   345
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   346
  $ cp -R a3 hook-precommit
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   347
  $ cd hook-precommit
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   348
  $ hg rebase --source 2 --dest 5 --tool internal:other --config 'hooks.precommit=hg status | grep "M A"'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   349
  rebasing 2:965c486023db "C"
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   350
  M A
45794
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45150
diff changeset
   351
  rebasing 6:a0b2430ebfb8 tip "F"
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   352
  abort: precommit hook exited with status 1
46485
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45845
diff changeset
   353
  [40]
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   354
  $ hg tglogp
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   355
  @  7: 401ccec5e39f secret 'C'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   356
  |
44381
9c9cfecd4600 rebase: don't use rebased node as dirstate p2 (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40883
diff changeset
   357
  | o  6: a0b2430ebfb8 secret 'F'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   358
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   359
  o |  5: 45396c49d53b public 'B'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   360
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   361
  o |  4: ae36e8e3dfd7 public 'E'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   362
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   363
  o |  3: 46b37eabc604 public 'D'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   364
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   365
  | o  2: 965c486023db secret 'C'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   366
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   367
  | o  1: 27547f69f254 public 'B'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   368
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   369
  o  0: 4a2df7238c3b public 'A'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   370
  
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   371
  $ hg rebase --continue
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   372
  already rebased 2:965c486023db "C" as 401ccec5e39f
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   373
  rebasing 6:a0b2430ebfb8 "F"
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
   374
  saved backup bundle to $TESTTMP/hook-precommit/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   375
  $ hg tglogp
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   376
  @  6: 6e92a149ac6b secret 'F'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   377
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   378
  o  5: 401ccec5e39f secret 'C'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   379
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   380
  o  4: 45396c49d53b public 'B'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   381
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   382
  o  3: ae36e8e3dfd7 public 'E'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   383
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   384
  o  2: 46b37eabc604 public 'D'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   385
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   386
  | o  1: 27547f69f254 public 'B'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   387
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   388
  o  0: 4a2df7238c3b public 'A'
32155
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   389
  
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   390
  $ cd ..
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   391
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   392
(pretxncommit version)
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   393
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   394
  $ cp -R a3 hook-pretxncommit
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32154
diff changeset
   395
  $ cd hook-pretxncommit
38722
2009d84f245a hook: disable the shell to native command translation by default
Matt Harbison <matt_harbison@yahoo.com>
parents: 38488
diff changeset
   396
  $ hg rebase --source 2 --dest 5 --tool internal:other \
2009d84f245a hook: disable the shell to native command translation by default
Matt Harbison <matt_harbison@yahoo.com>
parents: 38488
diff changeset
   397
  >     --config 'hooks.tonative.pretxncommit=True' --config 'hooks.pretxncommit=hg log -r $HG_NODE | grep "summary:     C"'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   398
  rebasing 2:965c486023db "C"
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   399
  summary:     C
45794
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45150
diff changeset
   400
  rebasing 6:a0b2430ebfb8 tip "F"
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   401
  transaction abort!
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   402
  rollback completed
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   403
  abort: pretxncommit hook exited with status 1
46485
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45845
diff changeset
   404
  [40]
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   405
  $ hg tglogp
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   406
  @  7: 401ccec5e39f secret 'C'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   407
  |
44381
9c9cfecd4600 rebase: don't use rebased node as dirstate p2 (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40883
diff changeset
   408
  | o  6: a0b2430ebfb8 secret 'F'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   409
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   410
  o |  5: 45396c49d53b public 'B'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   411
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   412
  o |  4: ae36e8e3dfd7 public 'E'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   413
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   414
  o |  3: 46b37eabc604 public 'D'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   415
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   416
  | o  2: 965c486023db secret 'C'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   417
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   418
  | o  1: 27547f69f254 public 'B'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   419
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   420
  o  0: 4a2df7238c3b public 'A'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   421
  
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   422
  $ hg rebase --continue
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   423
  already rebased 2:965c486023db "C" as 401ccec5e39f
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   424
  rebasing 6:a0b2430ebfb8 "F"
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
   425
  saved backup bundle to $TESTTMP/hook-pretxncommit/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   426
  $ hg tglogp
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   427
  @  6: 6e92a149ac6b secret 'F'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   428
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   429
  o  5: 401ccec5e39f secret 'C'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   430
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   431
  o  4: 45396c49d53b public 'B'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   432
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   433
  o  3: ae36e8e3dfd7 public 'E'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   434
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   435
  o  2: 46b37eabc604 public 'D'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   436
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   437
  | o  1: 27547f69f254 public 'B'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   438
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   439
  o  0: 4a2df7238c3b public 'A'
32154
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   440
  
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   441
  $ cd ..
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   442
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   443
(pretxnclose version)
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   444
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   445
  $ cp -R a3 hook-pretxnclose
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   446
  $ cd hook-pretxnclose
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   447
  $ hg rebase --source 2 --dest 5 --tool internal:other --config 'hooks.pretxnclose=hg log -r tip | grep "summary:     C"'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   448
  rebasing 2:965c486023db "C"
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   449
  summary:     C
45794
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45150
diff changeset
   450
  rebasing 6:a0b2430ebfb8 tip "F"
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   451
  transaction abort!
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   452
  rollback completed
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   453
  abort: pretxnclose hook exited with status 1
46485
768056549737 errors: use exit code 40 for when a hook fails
Martin von Zweigbergk <martinvonz@google.com>
parents: 45845
diff changeset
   454
  [40]
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   455
  $ hg tglogp
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   456
  @  7: 401ccec5e39f secret 'C'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   457
  |
44381
9c9cfecd4600 rebase: don't use rebased node as dirstate p2 (BC)
Martin von Zweigbergk <martinvonz@google.com>
parents: 40883
diff changeset
   458
  | o  6: a0b2430ebfb8 secret 'F'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   459
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   460
  o |  5: 45396c49d53b public 'B'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   461
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   462
  o |  4: ae36e8e3dfd7 public 'E'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   463
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   464
  o |  3: 46b37eabc604 public 'D'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   465
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   466
  | o  2: 965c486023db secret 'C'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   467
  | |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   468
  | o  1: 27547f69f254 public 'B'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   469
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   470
  o  0: 4a2df7238c3b public 'A'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   471
  
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   472
  $ hg rebase --continue
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   473
  already rebased 2:965c486023db "C" as 401ccec5e39f
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   474
  rebasing 6:a0b2430ebfb8 "F"
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
   475
  saved backup bundle to $TESTTMP/hook-pretxnclose/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   476
  $ hg tglogp
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   477
  @  6: 6e92a149ac6b secret 'F'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   478
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   479
  o  5: 401ccec5e39f secret 'C'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   480
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   481
  o  4: 45396c49d53b public 'B'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   482
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   483
  o  3: ae36e8e3dfd7 public 'E'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   484
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   485
  o  2: 46b37eabc604 public 'D'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   486
  |
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   487
  | o  1: 27547f69f254 public 'B'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   488
  |/
35394
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   489
  o  0: 4a2df7238c3b public 'A'
32156
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   490
  
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 32155
diff changeset
   491
  $ cd ..
32353
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   492
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   493
Make sure merge state is cleaned up after a no-op rebase merge (issue5494)
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   494
  $ hg init repo
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   495
  $ cd repo
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   496
  $ echo a > a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   497
  $ hg commit -qAm base
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   498
  $ echo b >> a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   499
  $ hg commit -qm b
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   500
  $ hg up '.^'
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   501
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   502
  $ echo c >> a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   503
  $ hg commit -qm c
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   504
  $ hg rebase -s 1 -d 2 --noninteractive
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   505
  rebasing 1:fdaca8533b86 "b"
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   506
  merging a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   507
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 44668
diff changeset
   508
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45794
diff changeset
   509
  [240]
32353
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   510
  $ echo a > a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   511
  $ echo c >> a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   512
  $ hg resolve --mark a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   513
  (no more unresolved files)
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   514
  continue: hg rebase --continue
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   515
  $ hg rebase --continue
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   516
  rebasing 1:fdaca8533b86 "b"
40883
4edd427f34c1 rebase: clarify that commits that become empty are skipped
Martin von Zweigbergk <martinvonz@google.com>
parents: 40882
diff changeset
   517
  note: not rebasing 1:fdaca8533b86 "b", its destination already has all its changes
35400
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35394
diff changeset
   518
  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/fdaca8533b86-7fd70513-rebase.hg
32353
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   519
  $ hg resolve --list
36784
c164a3a282c1 tests: .hg/merge is a directory, so use `test -d`
Martin von Zweigbergk <martinvonz@google.com>
parents: 35400
diff changeset
   520
  $ test -d .hg/merge
32353
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32289
diff changeset
   521
  [1]
36785
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   522
Now try again with --collapse
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   523
  $ hg unbundle -q .hg/strip-backup/fdaca8533b86-7fd70513-rebase.hg
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   524
  $ hg rebase -s 2 -d 1 --noninteractive --collapse
45794
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45150
diff changeset
   525
  rebasing 2:fdaca8533b86 tip "b"
36785
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   526
  merging a
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   527
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 44668
diff changeset
   528
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45794
diff changeset
   529
  [240]
36785
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   530
  $ echo a > a
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   531
  $ echo c >> a
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   532
  $ hg resolve --mark a
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   533
  (no more unresolved files)
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   534
  continue: hg rebase --continue
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   535
  $ hg rebase --continue
45794
f90a5c211251 rebase: change and standarize template for rebase's one-line summary
Martin von Zweigbergk <martinvonz@google.com>
parents: 45150
diff changeset
   536
  rebasing 2:fdaca8533b86 tip "b"
36785
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   537
  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/fdaca8533b86-7fd70513-rebase.hg
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   538
  $ hg resolve --list
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36784
diff changeset
   539
  $ test -d .hg/merge
36934
9457c395fcbb rebase: fix issue 5494 also with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36785
diff changeset
   540
  [1]