tests/test-rebase-interruptions.t
author Gregory Szorc <gregory.szorc@gmail.com>
Tue, 28 Aug 2018 15:02:48 -0700
changeset 39411 aeb551a3bb8a
parent 38722 2009d84f245a
child 40864 09680349cc2d
permissions -rw-r--r--
cborutil: implement sans I/O decoder The vendored CBOR package decodes by calling read(n) on an object. There are a number of disadvantages to this: * Uses blocking I/O. If sufficient data is not available, the decoder will hang until it is. * No support for partial reads. If the read(n) returns less data than requested, the decoder raises an error. * Requires the use of a file like object. If the original data is in say a buffer, we need to "cast" it to e.g. a BytesIO to appease the decoder. In addition, the vendored CBOR decoder doesn't provide flexibility that we desire. Specifically: * It buffers indefinite length bytestrings instead of streaming them. * It doesn't allow limiting the set of types that can be decoded. This property is useful when implementing a "hardened" decoder that is less susceptible to abusive input. * It doesn't provide sufficient "hook points" and introspection to institute checks around behavior. These are useful for implementing a "hardened" decoder. This all adds up to a reasonable set of justifications for writing our own decoder. So, this commit implements our own CBOR decoder. At the heart of the decoder is a function that decodes a single "item" from a buffer. This item can be a complete simple value or a special value, such as "start of array." Using this function, we can build a decoder that effectively iterates over the stream of decoded items and builds up higher-level values, such as arrays, maps, sets, and indefinite length bytestrings. And we can do this without performing I/O in the decoder itself. The core of the sans I/O decoder will probably not be used directly. Instead, it is expected that we'll build utility functions for invoking the decoder given specific input types. This will allow extreme flexibility in how data is delivered to the decoder. I'm pretty happy with the state of the decoder modulo the TODO items to track wanted features to help with a "hardened" decoder. The one thing I could be convinced to change is the handling of semantic tags. Since we only support a single semantic tag (sets), I thought it would be easier to handle them inline in decodeitem(). This is simpler now. But if we add support for other semantic tags, it will likely be easier to move semantic tag handling outside of decodeitem(). But, properly supporting semantic tags opens up a whole can of worms, as many semantic tags imply new types. I'm optimistic we won't need these in Mercurial. But who knows. I'm also pretty happy with the test coverage. Writing comprehensive tests for partial decoding did flush out a handful of bugs. One general improvement to testing would be fuzz testing for partial decoding. I may implement that later. I also anticipate switching the wire protocol code to this new decoder will flush out any lingering bugs. Differential Revision: https://phab.mercurial-scm.org/D4414
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]
35385
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
35385
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
  |
35385
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
  |
35385
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
  | |
35385
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
  |/
35385
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')
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
35385
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
  |
35385
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
  | |
35385
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
  | |
35385
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
  | |
35385
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
  | |
35385
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
  |/
35385
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')
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
35385
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
  |
35385
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
  | |
35385
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
  | |
35385
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
  | |
35385
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
  | |
35385
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
  | |
35385
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
  |/
35385
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
35385
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
  |
35385
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
  |
35385
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
  | |
35385
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
  |/
35385
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')
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
35385
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
  |
35385
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
  |
35385
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
  |
35385
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
  |
35385
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
  | |
35385
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
  |/
35385
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
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
35385
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
  |
35385
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
  |
35385
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
  |
35385
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
  |
35385
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
  | |
35385
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
  |/
35385
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
35385
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
  |
35385
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
  |
35385
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
  | |
35385
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
  |/
35385
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')
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
35385
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
  |
35385
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
  |
35385
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
  |
35385
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
  | |
35385
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
  |/
35385
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
35385
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
  |
35385
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
  |
35385
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
  |
35385
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
  | |
35385
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
  |/
35385
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
  
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
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   295
  @  7: 401ccec5e39f secret 'C'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   296
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   297
  | @  6: a0b2430ebfb8 secret 'F'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   298
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   299
  o |  5: 45396c49d53b public 'B'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   300
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   301
  o |  4: ae36e8e3dfd7 public 'E'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   302
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   303
  o |  3: 46b37eabc604 public 'D'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   304
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   305
  | o  2: 965c486023db secret 'C'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   306
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   307
  | o  1: 27547f69f254 public 'B'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   308
  |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   309
  o  0: 4a2df7238c3b public 'A'
33123
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"
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35385
diff changeset
   314
  saved backup bundle to $TESTTMP/hook-precommit/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg
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
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   316
  @  6: 6e92a149ac6b secret 'F'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   317
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   318
  o  5: 401ccec5e39f secret 'C'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   319
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   320
  o  4: 45396c49d53b public 'B'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   321
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   322
  o  3: ae36e8e3dfd7 public 'E'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   323
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   324
  o  2: 46b37eabc604 public 'D'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   325
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   326
  | o  1: 27547f69f254 public 'B'
33123
e7faa4a14d5d rebase: reinforce testing around precommit hook interrupting a rebase
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33122
diff changeset
   327
  |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   328
  o  0: 4a2df7238c3b public 'A'
33123
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
38722
2009d84f245a hook: disable the shell to native command translation by default
Matt Harbison <matt_harbison@yahoo.com>
parents: 38484
diff changeset
   336
  $ 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: 38484
diff changeset
   337
  >     --config 'hooks.tonative.pretxncommit=True' --config 'hooks.pretxncommit=hg log -r $HG_NODE | grep "summary:     C"'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   338
  rebasing 2:965c486023db "C"
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   339
  summary:     C
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   340
  rebasing 6:a0b2430ebfb8 "F" (tip)
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   341
  transaction abort!
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   342
  rollback completed
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   343
  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
   344
  [255]
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   345
  $ hg tglogp
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   346
  @  7: 401ccec5e39f secret 'C'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   347
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   348
  | @  6: a0b2430ebfb8 secret 'F'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   349
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   350
  o |  5: 45396c49d53b public 'B'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   351
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   352
  o |  4: ae36e8e3dfd7 public 'E'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   353
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   354
  o |  3: 46b37eabc604 public 'D'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   355
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   356
  | o  2: 965c486023db secret 'C'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   357
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   358
  | o  1: 27547f69f254 public 'B'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   359
  |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   360
  o  0: 4a2df7238c3b public 'A'
33122
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
  $ hg rebase --continue
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   363
  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
   364
  rebasing 6:a0b2430ebfb8 "F"
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35385
diff changeset
   365
  saved backup bundle to $TESTTMP/hook-pretxncommit/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   366
  $ hg tglogp
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   367
  @  6: 6e92a149ac6b secret 'F'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   368
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   369
  o  5: 401ccec5e39f secret 'C'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   370
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   371
  o  4: 45396c49d53b public 'B'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   372
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   373
  o  3: ae36e8e3dfd7 public 'E'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   374
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   375
  o  2: 46b37eabc604 public 'D'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   376
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   377
  | o  1: 27547f69f254 public 'B'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   378
  |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   379
  o  0: 4a2df7238c3b public 'A'
33122
918e7dcf8820 rebase: provides test case for (issue5610)
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 27626
diff changeset
   380
  
15917
e66084ef8449 rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents: 15742
diff changeset
   381
  $ cd ..
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   382
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   383
(pretxnclose version)
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   384
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   385
  $ 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
   386
  $ cd hook-pretxnclose
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   387
  $ 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
   388
  rebasing 2:965c486023db "C"
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   389
  summary:     C
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   390
  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
   391
  transaction abort!
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   392
  rollback completed
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   393
  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
   394
  [255]
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   395
  $ hg tglogp
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   396
  @  7: 401ccec5e39f secret 'C'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   397
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   398
  | @  6: a0b2430ebfb8 secret 'F'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   399
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   400
  o |  5: 45396c49d53b public 'B'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   401
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   402
  o |  4: ae36e8e3dfd7 public 'E'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   403
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   404
  o |  3: 46b37eabc604 public 'D'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   405
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   406
  | o  2: 965c486023db secret 'C'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   407
  | |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   408
  | o  1: 27547f69f254 public 'B'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   409
  |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   410
  o  0: 4a2df7238c3b public 'A'
33124
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
  $ hg rebase --continue
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   413
  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
   414
  rebasing 6:a0b2430ebfb8 "F"
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35385
diff changeset
   415
  saved backup bundle to $TESTTMP/hook-pretxnclose/.hg/strip-backup/965c486023db-aa6250e7-rebase.hg
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   416
  $ hg tglogp
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   417
  @  6: 6e92a149ac6b secret 'F'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   418
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   419
  o  5: 401ccec5e39f secret 'C'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   420
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   421
  o  4: 45396c49d53b public 'B'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   422
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   423
  o  3: ae36e8e3dfd7 public 'E'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   424
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   425
  o  2: 46b37eabc604 public 'D'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   426
  |
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   427
  | o  1: 27547f69f254 public 'B'
33124
22ab466480ea rebase: also test abort from pretxnclose error
Pierre-Yves David <pierre-yves.david@octobus.net>
parents: 33123
diff changeset
   428
  |/
35385
469b06b4c3ca tests: add commit hashes to log commands in rebase tests
Phil Cohen <phillco@fb.com>
parents: 33332
diff changeset
   429
  o  0: 4a2df7238c3b public 'A'
33124
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
  $ 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
   432
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   433
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
   434
  $ 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
   435
  $ 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
   436
  $ 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
   437
  $ 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
   438
  $ 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
   439
  $ 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
   440
  $ 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
   441
  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
   442
  $ 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
   443
  $ 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
   444
  $ 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
   445
  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
   446
  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
   447
  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
   448
  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
   449
  [1]
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   450
  $ 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
   451
  $ 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
   452
  $ 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
   453
  (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
   454
  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
   455
  $ 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
   456
  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
   457
  note: rebase of 1:fdaca8533b86 created no changes to commit
35393
4441705b7111 tests: remove (glob) annotations that were only for '\' matches
Matt Harbison <matt_harbison@yahoo.com>
parents: 35385
diff changeset
   458
  saved backup bundle to $TESTTMP/repo/.hg/strip-backup/fdaca8533b86-7fd70513-rebase.hg
32313
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 resolve --list
36776
c164a3a282c1 tests: .hg/merge is a directory, so use `test -d`
Martin von Zweigbergk <martinvonz@google.com>
parents: 35393
diff changeset
   460
  $ test -d .hg/merge
32313
a580b2d65ded rebase: make sure merge state is cleaned up for no-op rebases (issue5494)
Jeremy Fitzhardinge <jsgf@fb.com>
parents: 32249
diff changeset
   461
  [1]
36777
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   462
Now try again with --collapse
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   463
  $ 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: 36776
diff changeset
   464
  $ hg rebase -s 2 -d 1 --noninteractive --collapse
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   465
  rebasing 2:fdaca8533b86 "b" (tip)
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   466
  merging a
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   467
  warning: conflicts while merging a! (edit, then use 'hg resolve --mark')
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   468
  unresolved conflicts (see hg resolve, then hg rebase --continue)
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   469
  [1]
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   470
  $ echo a > a
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   471
  $ echo c >> a
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   472
  $ hg resolve --mark a
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   473
  (no more unresolved files)
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   474
  continue: hg rebase --continue
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   475
  $ hg rebase --continue
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   476
  rebasing 2:fdaca8533b86 "b" (tip)
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   477
  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: 36776
diff changeset
   478
  $ hg resolve --list
66c569e57c70 tests: add test for issue 5494 but with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36776
diff changeset
   479
  $ test -d .hg/merge
36928
9457c395fcbb rebase: fix issue 5494 also with --collapse
Martin von Zweigbergk <martinvonz@google.com>
parents: 36777
diff changeset
   480
  [1]