Mercurial > hg
annotate tests/test-merge-halt.t @ 48788:f90337706ce7
filemerge: make `_maketempfiles()` more reusable
`_maketempfiles()` is very specialized for its current use. I hope to
use it also when creating temporary files for input for tools that do
partial conflict resolution. That'll be possible if the function is
more generic. Instead of passing in two contexts (for "other" and
"base") and an optional path (for "local"), let's pass a single list
of files to make backups for. Even if we don't end up using for
partial conflict resolution, this is still a simplification (but I do
have a WIP patch for partial conflict resolution and it is able to
benefit from this).
Differential Revision: https://phab.mercurial-scm.org/D12193
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 14 Feb 2022 22:49:03 -0800 |
parents | 38941a28406a |
children | f64bbba2ee59 |
rev | line source |
---|---|
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 |
48427
38941a28406a
mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com>
parents:
48271
diff
changeset
|
27 merging a failed! |
34679
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
28 merging b |
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') |
45826
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 a failed! |
48271
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
46 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') |
45826
21733e8c924f
errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
47 [240] |
34679
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
48 |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
49 $ hg resolve --list |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
50 U a |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
51 U b |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
52 |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
53 $ hg rebase --abort |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
54 rebase aborted |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
55 |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
56 Testing on-failure=prompt |
34884
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
57 $ cat <<EOS >> $HGRCPATH |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
58 > [merge] |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
59 > on-failure=prompt |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
60 > [ui] |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
61 > interactive=1 |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
62 > EOS |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
63 $ 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
|
64 > y |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
65 > n |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
66 > EOS |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
67 rebasing 1:1f28a51c3c9b "c" |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
68 merging a |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
69 merging a failed! |
34797
284fa44f7f39
merge: allow user to halt merge on merge-tool failures
Ryan McElroy <rmcelroy@fb.com>
parents:
34679
diff
changeset
|
70 continue merge operation (yn)? y |
48427
38941a28406a
mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com>
parents:
48271
diff
changeset
|
71 merging b |
34679
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
72 merging b failed! |
34797
284fa44f7f39
merge: allow user to halt merge on merge-tool failures
Ryan McElroy <rmcelroy@fb.com>
parents:
34679
diff
changeset
|
73 continue merge operation (yn)? n |
48271
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
74 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') |
45826
21733e8c924f
errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
75 [240] |
34679
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
76 |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
77 $ hg resolve --list |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
78 U a |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
79 U b |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
80 |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
81 $ hg rebase --abort |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
82 rebase aborted |
143337bcec9b
merge: add tests to show current behavior on failed filemerges
Ryan McElroy <rmcelroy@fb.com>
parents:
diff
changeset
|
83 |
34884
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
84 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
|
85 $ cat <<EOS >> $HGRCPATH |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
86 > [merge-tools] |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
87 > true.check=changed |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
88 > EOS |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
89 $ 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
|
90 > y |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
91 > n |
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 > EOS |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
94 rebasing 1:1f28a51c3c9b "c" |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
95 merging a |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
96 output file a appears unchanged |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
97 was merge successful (yn)? y |
48427
38941a28406a
mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com>
parents:
48271
diff
changeset
|
98 merging b |
34884
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
99 output file b appears unchanged |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
100 was merge successful (yn)? n |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
101 merging b failed! |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
102 continue merge operation (yn)? n |
48271
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
103 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') |
45826
21733e8c924f
errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
104 [240] |
34884
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
105 |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
106 $ hg resolve --list |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
107 R a |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
108 U b |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
109 |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
110 $ hg rebase --abort |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
111 rebase aborted |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
112 |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
113 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
|
114 $ cat <<EOS >> $HGRCPATH |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
115 > [merge-tools] |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
116 > true.check=conflicts |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
117 > true.premerge=keep |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
118 > [merge] |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
119 > on-failure=halt |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
120 > EOS |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
121 $ 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
|
122 rebasing 1:1f28a51c3c9b "c" |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
123 merging a |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
124 merging a failed! |
48271
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
125 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') |
45826
21733e8c924f
errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
126 [240] |
34884
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
127 |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
128 $ hg resolve --list |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
129 U a |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
130 U b |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
131 |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
132 $ hg rebase --abort |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
133 rebase aborted |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
134 |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
135 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
|
136 $ 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
|
137 > y |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
138 > n |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
139 > EOS |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
140 rebasing 1:1f28a51c3c9b "c" |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
141 merging a |
48427
38941a28406a
mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com>
parents:
48271
diff
changeset
|
142 was merge of 'a' successful (yn)? y |
34884
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
143 merging b |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
144 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
|
145 merging b failed! |
48271
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
146 unresolved conflicts (see 'hg resolve', then 'hg rebase --continue') |
45826
21733e8c924f
errors: add config that lets user get more detailed exit codes
Martin von Zweigbergk <martinvonz@google.com>
parents:
45150
diff
changeset
|
147 [240] |
34884
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
148 |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
149 $ hg resolve --list |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
150 R a |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
151 U b |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
152 |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
153 $ hg rebase --abort |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
154 rebase aborted |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
155 |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
156 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
|
157 $ 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
|
158 rebasing 1:1f28a51c3c9b "c" |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
159 merging a |
48427
38941a28406a
mergestate: merge `preresolve()` into `resolve()`
Martin von Zweigbergk <martinvonz@google.com>
parents:
48271
diff
changeset
|
160 $TESTTMP/repo/a *a~base* *a~other* (glob) |
34884
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
161 merging b |
05535d0dea68
merge: additional test cases to show merge-halting behavior
Ryan McElroy <rmcelroy@fb.com>
parents:
34797
diff
changeset
|
162 $TESTTMP/repo/b *b~base* *b~other* (glob) |
48270
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
163 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
164 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:
45826
diff
changeset
|
165 $ cat <<EOS >> $HGRCPATH |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
166 > [extensions] |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
167 > shelve = |
48271
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
168 > [merge-tools] |
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
169 > false.check=conflicts |
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
170 > false.premerge=false |
48270
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
171 > EOS |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
172 $ echo foo > shelve_file1 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
173 $ echo foo > shelve_file2 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
174 $ hg ci -qAm foo |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
175 $ echo bar >> shelve_file1 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
176 $ echo bar >> shelve_file2 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
177 $ hg shelve --list |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
178 $ hg shelve |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
179 shelved as default |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
180 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:
45826
diff
changeset
|
181 $ echo baz >> shelve_file1 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
182 $ echo baz >> shelve_file2 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
183 $ hg ci -m baz |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
184 $ 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:
45826
diff
changeset
|
185 unshelving change 'default' |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
186 rebasing shelved changes |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
187 merging shelve_file1 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
188 merging shelve_file1 failed! |
48271
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
189 unresolved conflicts (see 'hg resolve', then 'hg unshelve --continue') |
48270
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
190 [240] |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
191 $ hg status --config commands.status.verbose=True |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
192 M shelve_file1 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
193 M shelve_file2 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
194 ? shelve_file1.orig |
48271
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
195 # The repository is in an unfinished *unshelve* state. |
48270
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
196 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
197 # Unresolved merge conflicts: |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
198 # |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
199 # shelve_file1 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
200 # shelve_file2 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
201 # |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
202 # 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:
45826
diff
changeset
|
203 |
48271
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
204 # To continue: hg unshelve --continue |
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
205 # To abort: hg unshelve --abort |
48270
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
206 |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
207 $ hg resolve --tool false --all --re-merge |
48271
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
208 merging shelve_file1 |
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
209 merging shelve_file1 failed! |
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
210 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:
48270
diff
changeset
|
211 [240] |
48270
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
212 $ hg shelve --list |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
213 default (* ago) changes to: foo (glob) |
3e66e4517744
merge-halt: demonstrate unshelve issue with merge.on-failure=halt
Kyle Lippincott <spectral@google.com>
parents:
45826
diff
changeset
|
214 $ hg unshelve --abort |
48271
5228a6dc212b
merge-halt: fix issue with merge.on-failure=halt breaking unshelve
Kyle Lippincott <spectral@google.com>
parents:
48270
diff
changeset
|
215 unshelve of 'default' aborted |