tests/test-rebase-interruptions.t
author Jun Wu <quark@fb.com>
Fri, 07 Jul 2017 18:51:46 -0700
changeset 33332 3b7cb3d17137
parent 33173 4b0da963586d
child 35385 469b06b4c3ca
permissions -rw-r--r--
rebase: use scmutil.cleanupnodes (issue5606) (BC) This patch migrates rebase to use scmutil.cleanupnodes API. It simplifies the code and makes rebase code reusable inside a transaction. This is a BC because the backup file is no longer strip-backup/*-backup.hg, but strip-backup/*-rebase.hg. The latter looks more reasonable since the directory name is "strip-backup" so there is no need to repeat "backup". I think the backup file name change is probably fine as a BC, since we have changed it before (aa4a1672583e) and didn't get complains. The end result of this series will be a much more consistent and unified backup names: command | old backup file suffix | new backup file suffix ------------------------------------------------------------------- amend | amend-backup.hg | amend.hg histedit | backup.hg (could be 2 files) | histedit.hg (single file) rebase | backup.hg | rebase.hg strip | backup.hg | backup.hg (note: backup files are under .hg/strip-backup) It also fixes issue5606 as a side effect because the new "delayedstrip" code path will carefully examine nodes (safestriproots) to make sure orphaned changesets won't get stripped by accident. Some warning messages are changed to the new "warning: orphaned descendants detected, not stripping HASHES", which provides more information about exactly what changesets are left behind. Another minor behavior change is when there is an obsoleted changeset with a successor in the destination branch, bookmarks pointing to that obsoleted changeset will not be moved. I have commented in test-rebase-obsolete.t explaining why that is more desirable.
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]
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
     9
  > tglog = log -G --template "{rev}: '{desc}' {branches}\n"
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    10
  > tglogp = log -G --template "{rev}:{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
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    47
  @  4: 'E'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    48
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    49
  o  3: 'D'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    50
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    51
  | o  2: 'C'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    52
  | |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    53
  | o  1: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    54
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    55
  o  0: 'A'
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')
18933
42b620fc89e2 rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents: 17026
diff changeset
    64
  unresolved conflicts (see hg resolve, then hg rebase --continue)
18935
e5d9441ec281 dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents: 18933
diff changeset
    65
  [1]
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
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    80
  @  6:secret 'Extra'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    81
  |
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    82
  | o  5:draft 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    83
  | |
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    84
  | o  4:draft 'E'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    85
  | |
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    86
  | o  3:draft 'D'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    87
  | |
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    88
  o |  2:draft 'C'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    89
  | |
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    90
  o |  1:draft 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
    91
  |/
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
    92
  o  0: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')
18933
42b620fc89e2 rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents: 17026
diff changeset
   101
  unresolved conflicts (see hg resolve, then hg rebase --continue)
18935
e5d9441ec281 dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents: 18933
diff changeset
   102
  [1]
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: 33173
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
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19518
diff changeset
   118
  o  7:draft 'C'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   119
  |
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   120
  | o  6:secret 'Extra'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   121
  | |
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   122
  o |  5:draft 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   123
  | |
19925
9c78ed396075 rebase: preserve working directory parent (BC)
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents: 19518
diff changeset
   124
  @ |  4:draft 'E'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   125
  | |
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   126
  o |  3:draft 'D'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   127
  | |
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   128
  | o  2:draft 'C'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   129
  | |
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   130
  | o  1:draft 'B'
12608
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   131
  |/
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   132
  o  0: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
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   143
  @  4: 'E'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   144
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   145
  o  3: 'D'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   146
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   147
  | o  2: 'C'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   148
  | |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   149
  | o  1: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   150
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   151
  o  0: 'A'
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')
18933
42b620fc89e2 rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents: 17026
diff changeset
   160
  unresolved conflicts (see hg resolve, then hg rebase --continue)
18935
e5d9441ec281 dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents: 18933
diff changeset
   161
  [1]
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
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   172
  @  6: 'Extra'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   173
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   174
  o  5: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   175
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   176
  o  4: 'E'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   177
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   178
  o  3: 'D'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   179
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   180
  | o  2: 'C'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   181
  | |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   182
  | o  1: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   183
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   184
  o  0: 'A'
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
32249
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
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   193
  @  6: 'Extra'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   194
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   195
  o  5: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   196
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   197
  o  4: 'E'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   198
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   199
  o  3: 'D'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   200
  |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   201
  | o  2: 'C'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   202
  | |
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   203
  | o  1: 'B'
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   204
  |/
16b854cb80f1 tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents: 11208
diff changeset
   205
  o  0: 'A'
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
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   215
  @  4:draft 'E'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   216
  |
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   217
  o  3:draft 'D'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   218
  |
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   219
  | o  2:draft 'C'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   220
  | |
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   221
  | o  1:draft 'B'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   222
  |/
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   223
  o  0:draft 'A'
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')
18933
42b620fc89e2 rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents: 17026
diff changeset
   232
  unresolved conflicts (see hg resolve, then hg rebase --continue)
18935
e5d9441ec281 dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents: 18933
diff changeset
   233
  [1]
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
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   243
  @  5:public 'B'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   244
  |
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   245
  o  4:public 'E'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   246
  |
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   247
  o  3:public 'D'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   248
  |
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   249
  | o  2:secret 'C'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   250
  | |
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   251
  | o  1:public 'B'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   252
  |/
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   253
  o  0:public 'A'
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
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   262
  @  5:public 'B'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   263
  |
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   264
  o  4:public 'E'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   265
  |
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   266
  o  3:public 'D'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   267
  |
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   268
  | o  2:secret 'C'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   269
  | |
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   270
  | o  1:public 'B'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   271
  |/
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   272
  o  0:public 'A'
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   273
  
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   274
Test rebase interrupted by hooks
33122
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
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   281
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   282
  $ cd ..
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   283
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   284
(precommit version)
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   285
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   286
  $ cp -R a3 hook-precommit
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   287
  $ cd hook-precommit
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   288
  $ 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: 33122
diff changeset
   289
  rebasing 2:965c486023db "C"
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   290
  M A
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   291
  rebasing 6:a0b2430ebfb8 "F" (tip)
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   292
  abort: precommit hook exited with status 1
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   293
  [255]
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   294
  $ hg tglogp
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   295
  @  7:secret 'C'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   296
  |
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   297
  | @  6:secret 'F'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   298
  | |
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   299
  o |  5:public 'B'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   300
  | |
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   301
  o |  4:public 'E'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   302
  | |
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   303
  o |  3:public 'D'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   304
  | |
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   305
  | o  2:secret 'C'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   306
  | |
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   307
  | o  1:public 'B'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   308
  |/
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   309
  o  0:public 'A'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   310
  
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   311
  $ hg rebase --continue
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   312
  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: 33122
diff changeset
   313
  rebasing 6:a0b2430ebfb8 "F"
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33173
diff changeset
   314
  saved backup bundle to $TESTTMP/hook-precommit/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg (glob)
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   315
  $ hg tglogp
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   316
  @  6:secret 'F'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   317
  |
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   318
  o  5:secret 'C'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   319
  |
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   320
  o  4:public 'B'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   321
  |
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   322
  o  3:public 'E'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   323
  |
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   324
  o  2:public 'D'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   325
  |
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   326
  | o  1:public 'B'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   327
  |/
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   328
  o  0:public 'A'
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   329
  
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   330
  $ cd ..
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   331
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   332
(pretxncommit version)
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   333
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   334
  $ cp -R a3 hook-pretxncommit
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   335
  $ cd hook-pretxncommit
33173
4b0da963586d test-rebase-interruptions: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33139
diff changeset
   336
#if windows
4b0da963586d test-rebase-interruptions: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33139
diff changeset
   337
  $ NODE="%HG_NODE%"
4b0da963586d test-rebase-interruptions: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33139
diff changeset
   338
#else
4b0da963586d test-rebase-interruptions: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33139
diff changeset
   339
  $ NODE="\$HG_NODE"
4b0da963586d test-rebase-interruptions: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33139
diff changeset
   340
#endif
4b0da963586d test-rebase-interruptions: stabilize for Windows
Matt Harbison <matt_harbison@yahoo.com>
parents: 33139
diff changeset
   341
  $ hg rebase --source 2 --dest 5 --tool internal:other --config "hooks.pretxncommit=hg log -r $NODE | grep \"summary:     C\""
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   342
  rebasing 2:965c486023db "C"
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   343
  summary:     C
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   344
  rebasing 6:a0b2430ebfb8 "F" (tip)
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   345
  transaction abort!
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   346
  rollback completed
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   347
  abort: pretxncommit hook exited with status 1
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   348
  [255]
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   349
  $ hg tglogp
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   350
  @  7:secret 'C'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   351
  |
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   352
  | @  6:secret 'F'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   353
  | |
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   354
  o |  5:public 'B'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   355
  | |
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   356
  o |  4:public 'E'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   357
  | |
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   358
  o |  3:public 'D'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   359
  | |
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   360
  | o  2:secret 'C'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   361
  | |
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   362
  | o  1:public 'B'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   363
  |/
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   364
  o  0:public 'A'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   365
  
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   366
  $ hg rebase --continue
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   367
  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
   368
  rebasing 6:a0b2430ebfb8 "F"
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33173
diff changeset
   369
  saved backup bundle to $TESTTMP/hook-pretxncommit/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg (glob)
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   370
  $ hg tglogp
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   371
  @  6:secret 'F'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   372
  |
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   373
  o  5:secret 'C'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   374
  |
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   375
  o  4:public 'B'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   376
  |
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   377
  o  3:public 'E'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   378
  |
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   379
  o  2:public 'D'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   380
  |
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   381
  | o  1:public 'B'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   382
  |/
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   383
  o  0:public 'A'
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   384
  
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   385
  $ cd ..
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   386
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   387
(pretxnclose version)
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   388
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   389
  $ cp -R a3 hook-pretxnclose
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   390
  $ cd hook-pretxnclose
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   391
  $ 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: 33123
diff changeset
   392
  rebasing 2:965c486023db "C"
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   393
  summary:     C
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   394
  rebasing 6:a0b2430ebfb8 "F" (tip)
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   395
  transaction abort!
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   396
  rollback completed
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   397
  abort: pretxnclose hook exited with status 1
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   398
  [255]
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   399
  $ hg tglogp
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   400
  @  7:secret 'C'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   401
  |
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   402
  | @  6:secret 'F'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   403
  | |
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   404
  o |  5:public 'B'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   405
  | |
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   406
  o |  4:public 'E'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   407
  | |
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   408
  o |  3:public 'D'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   409
  | |
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   410
  | o  2:secret 'C'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   411
  | |
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   412
  | o  1:public 'B'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   413
  |/
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   414
  o  0:public 'A'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   415
  
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   416
  $ hg rebase --continue
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   417
  already rebased 2:965c486023db "C" as 401ccec5e39f
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   418
  rebasing 6:a0b2430ebfb8 "F"
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33173
diff changeset
   419
  saved backup bundle to $TESTTMP/hook-pretxnclose/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg (glob)
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   420
  $ hg tglogp
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   421
  @  6:secret 'F'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   422
  |
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   423
  o  5:secret 'C'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   424
  |
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   425
  o  4:public 'B'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   426
  |
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   427
  o  3:public 'E'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   428
  |
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   429
  o  2:public 'D'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   430
  |
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   431
  | o  1:public 'B'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   432
  |/
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   433
  o  0:public 'A'
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   434
  
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   435
  $ cd ..
32313
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   436
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   437
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: 32249
diff changeset
   438
  $ hg init repo
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   439
  $ cd repo
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   440
  $ echo a > a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   441
  $ hg commit -qAm base
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   442
  $ echo b >> a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   443
  $ hg commit -qm b
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   444
  $ hg up '.^'
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   445
  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: 32249
diff changeset
   446
  $ echo c >> a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   447
  $ hg commit -qm c
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   448
  $ 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: 32249
diff changeset
   449
  rebasing 1:fdaca8533b86 "b"
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   450
  merging a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   451
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   452
  unresolved conflicts (see hg resolve, then hg rebase --continue)
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   453
  [1]
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   454
  $ echo a > a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   455
  $ echo c >> a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   456
  $ hg resolve --mark a
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   457
  (no more unresolved files)
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   458
  continue: hg rebase --continue
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   459
  $ hg rebase --continue
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   460
  rebasing 1:fdaca8533b86 "b"
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   461
  note: rebase of 1:fdaca8533b86 created no changes to commit
33332
3b7cb3d17137 rebase: use scmutil.cleanupnodes (issue5606) (BC)
Jun Wu <quark@fb.com>
parents: 33173
diff changeset
   462
  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/fdaca8533b86-7fd70513-rebase.hg (glob)
32313
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   463
  $ hg resolve --list
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   464
  $ test -f .hg/merge
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   465
  [1]