tests/test-merge-halt.t
author Raphaël Gomès <rgomes@octobus.net>
Wed, 20 Oct 2021 16:54:43 +0200
branchstable
changeset 47897 f6b045910d82
parent 47896 5228a6dc212b
child 48472 38941a28406a
permissions -rw-r--r--
pyoxidizer: force pip to not use pep517 in order to be able to install hg Mercurial is not (yet) a pep517 package, but the presence of a pyproject.toml file tells newer-ish versions of pip that it should be one. This is related to 58fe6d127a01, and fixes pyoxidizer builds for the Heptapod CI. Differential Revision: https://phab.mercurial-scm.org/D11710
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
34679
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
     1
  $ cat >> $HGRCPATH <<EOF
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
     2
  > [extensions]
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
     3
  > rebase=
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
     4
  > [phases]
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
     5
  > publish=False
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
     6
  > [merge]
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
     7
  > EOF
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
     8
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
     9
  $ hg init repo
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    10
  $ cd repo
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    11
  $ echo a > a
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    12
  $ echo b > b
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    13
  $ hg commit -qAm ab
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    14
  $ echo c >> a
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    15
  $ echo c >> b
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    16
  $ hg commit -qAm c
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    17
  $ hg up -q ".^"
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    18
  $ echo d >> a
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    19
  $ echo d >> b
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    20
  $ hg commit -qAm d
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    21
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    22
Testing on-failure=continue
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    23
  $ echo on-failure=continue >> $HGRCPATH
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    24
  $ hg rebase -s 1 -d 2 --tool false
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    25
  rebasing 1:1f28a51c3c9b "c"
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    26
  merging a
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    27
  merging b
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    28
  merging a failed!
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    29
  merging b failed!
45150
dc5e5577af39 error: unify the error message formats for 'rebase' and 'unshelve'
Daniel Ploch <dploch@google.com>
parents: 34884
diff changeset
    30
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45150
diff changeset
    31
  [240]
34679
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    32
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    33
  $ hg resolve --list
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    34
  U a
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    35
  U b
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    36
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    37
  $ hg rebase --abort
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    38
  rebase aborted
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    39
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    40
Testing on-failure=halt
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    41
  $ echo on-failure=halt >> $HGRCPATH
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    42
  $ hg rebase -s 1 -d 2 --tool false
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    43
  rebasing 1:1f28a51c3c9b "c"
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    44
  merging a
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    45
  merging b
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    46
  merging a failed!
47896
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
    47
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45150
diff changeset
    48
  [240]
34679
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    49
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    50
  $ hg resolve --list
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    51
  U a
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    52
  U b
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    53
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    54
  $ hg rebase --abort
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    55
  rebase aborted
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    56
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    57
Testing on-failure=prompt
34884
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    58
  $ cat <<EOS >> $HGRCPATH
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    59
  > [merge]
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    60
  > on-failure=prompt
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    61
  > [ui]
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    62
  > interactive=1
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    63
  > EOS
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    64
  $ cat <<EOS | hg rebase -s 1 -d 2 --tool false
34679
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    65
  > y
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    66
  > n
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    67
  > EOS
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    68
  rebasing 1:1f28a51c3c9b "c"
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    69
  merging a
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    70
  merging b
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    71
  merging a failed!
34797
284fa44f7f39 merge: allow user to halt merge on merge-tool failures
Ryan McElroy <rmcelroy@fb.com>
parents: 34679
diff changeset
    72
  continue merge operation (yn)? y
34679
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    73
  merging b failed!
34797
284fa44f7f39 merge: allow user to halt merge on merge-tool failures
Ryan McElroy <rmcelroy@fb.com>
parents: 34679
diff changeset
    74
  continue merge operation (yn)? n
47896
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
    75
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45150
diff changeset
    76
  [240]
34679
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    77
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    78
  $ hg resolve --list
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    79
  U a
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    80
  U b
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    81
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    82
  $ hg rebase --abort
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    83
  rebase aborted
143337bcec9b merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff changeset
    84
34884
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    85
Check that successful tool with failed post-check halts the merge
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    86
  $ cat <<EOS >> $HGRCPATH
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    87
  > [merge-tools]
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    88
  > true.check=changed
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    89
  > EOS
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    90
  $ cat <<EOS | hg rebase -s 1 -d 2 --tool true
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    91
  > y
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    92
  > n
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    93
  > n
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    94
  > EOS
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    95
  rebasing 1:1f28a51c3c9b "c"
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    96
  merging a
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    97
  merging b
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    98
   output file a appears unchanged
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
    99
  was merge successful (yn)? y
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   100
   output file b appears unchanged
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   101
  was merge successful (yn)? n
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   102
  merging b failed!
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   103
  continue merge operation (yn)? n
47896
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   104
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45150
diff changeset
   105
  [240]
34884
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   106
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   107
  $ hg resolve --list
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   108
  R a
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   109
  U b
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   110
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   111
  $ hg rebase --abort
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   112
  rebase aborted
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   113
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   114
Check that conflicts with conflict check also halts the merge
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   115
  $ cat <<EOS >> $HGRCPATH
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   116
  > [merge-tools]
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   117
  > true.check=conflicts
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   118
  > true.premerge=keep
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   119
  > [merge]
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   120
  > on-failure=halt
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   121
  > EOS
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   122
  $ hg rebase -s 1 -d 2 --tool true
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   123
  rebasing 1:1f28a51c3c9b "c"
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   124
  merging a
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   125
  merging b
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   126
  merging a failed!
47896
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   127
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45150
diff changeset
   128
  [240]
34884
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   129
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   130
  $ hg resolve --list
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   131
  U a
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   132
  U b
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   133
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   134
  $ hg rebase --abort
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   135
  rebase aborted
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   136
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   137
Check that always-prompt also can halt the merge
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   138
  $ cat <<EOS | hg rebase -s 1 -d 2 --tool true --config merge-tools.true.check=prompt
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   139
  > y
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   140
  > n
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   141
  > EOS
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   142
  rebasing 1:1f28a51c3c9b "c"
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   143
  merging a
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   144
  merging b
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   145
  was merge of 'a' successful (yn)? y
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   146
  was merge of 'b' successful (yn)? n
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   147
  merging b failed!
47896
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   148
  unresolved conflicts (see 'hg resolve', then 'hg rebase --continue')
45845
21733e8c924f errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents: 45150
diff changeset
   149
  [240]
34884
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   150
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   151
  $ hg resolve --list
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   152
  R a
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   153
  U b
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   154
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   155
  $ hg rebase --abort
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   156
  rebase aborted
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   157
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   158
Check that successful tool otherwise allows the merge to continue
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   159
  $ hg rebase -s 1 -d 2 --tool echo --keep --config merge-tools.echo.premerge=keep
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   160
  rebasing 1:1f28a51c3c9b "c"
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   161
  merging a
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   162
  merging b
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   163
  $TESTTMP/repo/a *a~base* *a~other* (glob)
05535d0dea68 merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents: 34797
diff changeset
   164
  $TESTTMP/repo/b *b~base* *b~other* (glob)
47895
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   165
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   166
Check that unshelve isn't broken by halting the merge
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   167
  $ cat <<EOS >> $HGRCPATH
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   168
  > [extensions]
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   169
  > shelve =
47896
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   170
  > [merge-tools]
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   171
  > false.check=conflicts
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   172
  > false.premerge=false
47895
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   173
  > EOS
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   174
  $ echo foo > shelve_file1
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   175
  $ echo foo > shelve_file2
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   176
  $ hg ci -qAm foo
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   177
  $ echo bar >> shelve_file1
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   178
  $ echo bar >> shelve_file2
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   179
  $ hg shelve --list
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   180
  $ hg shelve
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   181
  shelved as default
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   182
  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   183
  $ echo baz >> shelve_file1
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   184
  $ echo baz >> shelve_file2
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   185
  $ hg ci -m baz
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   186
  $ hg unshelve --tool false --config merge-tools.false.premerge=keep
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   187
  unshelving change 'default'
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   188
  rebasing shelved changes
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   189
  merging shelve_file1
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   190
  merging shelve_file2
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   191
  merging shelve_file1 failed!
47896
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   192
  unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue')
47895
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   193
  [240]
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   194
  $ hg status --config commands.status.verbose=True
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   195
  M shelve_file1
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   196
  M shelve_file2
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   197
  ? shelve_file1.orig
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   198
  ? shelve_file2.orig
47896
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   199
  # The repository is in an unfinished *unshelve* state.
47895
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   200
  
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   201
  # Unresolved merge conflicts:
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   202
  # 
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   203
  #     shelve_file1
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   204
  #     shelve_file2
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   205
  # 
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   206
  # To mark files as resolved:  hg resolve --mark FILE
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   207
  
47896
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   208
  # To continue:    hg unshelve --continue
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   209
  # To abort:       hg unshelve --abort
47895
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   210
  
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   211
  $ hg resolve --tool false --all --re-merge
47896
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   212
  merging shelve_file1
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   213
  merging shelve_file2
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   214
  merging shelve_file1 failed!
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   215
  merge halted after failed merge (see hg resolve)
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   216
  [240]
47895
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   217
  $ hg shelve --list
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   218
  default         (* ago)    changes to: foo (glob)
3e66e4517744 merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents: 45845
diff changeset
   219
  $ hg unshelve --abort
47896
5228a6dc212b merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents: 47895
diff changeset
   220
  unshelve of 'default' aborted