1 $ . "$TESTDIR/testlib/topic_setup.sh" |
|
2 |
|
3 Testing the config knob to forbid untopiced commit |
|
4 ====================================================== |
|
5 |
|
6 $ hg init $TESTTMP/untopic-commit |
|
7 $ cd $TESTTMP/untopic-commit |
|
8 $ cat <<EOF >> .hg/hgrc |
|
9 > [phases] |
|
10 > publish=false |
|
11 > EOF |
|
12 $ cat <<EOF >> $HGRCPATH |
|
13 > [experimental] |
|
14 > topic-mode = enforce |
|
15 > EOF |
|
16 $ touch a b c d |
|
17 $ hg add a |
|
18 $ hg ci -m "Added a" |
|
19 abort: no active topic |
|
20 (see 'hg help -e topic.topic-mode' for details) |
|
21 [255] |
|
22 |
|
23 (same test, checking we abort before the editor) |
|
24 |
|
25 $ EDITOR=cat hg ci -m "Added a" --edit |
|
26 abort: no active topic |
|
27 (see 'hg help -e topic.topic-mode' for details) |
|
28 [255] |
|
29 $ hg ci -m "added a" --config experimental.topic-mode=ignore |
|
30 $ hg log |
|
31 changeset: 0:a154386e50d1 |
|
32 tag: tip |
|
33 user: test |
|
34 date: Thu Jan 01 00:00:00 1970 +0000 |
|
35 summary: added a |
|
36 |
|
37 |
|
38 Testing the config knob to warn about untopiced commit |
|
39 ========================================================== |
|
40 |
|
41 $ hg init $TESTTMP/untopic-warn-commit |
|
42 $ cd $TESTTMP/untopic-warn-commit |
|
43 $ cat <<EOF >> .hg/hgrc |
|
44 > [phases] |
|
45 > publish=false |
|
46 > EOF |
|
47 $ cat <<EOF >> $HGRCPATH |
|
48 > [experimental] |
|
49 > topic-mode = warning |
|
50 > EOF |
|
51 $ touch a b c d |
|
52 $ hg add a |
|
53 |
|
54 (same test, checking we abort before the editor) |
|
55 |
|
56 $ HGEDITOR=cat hg ci -m "Added a" --edit |
|
57 warning: new draft commit without topic |
|
58 (see 'hg help -e topic.topic-mode' for details) |
|
59 Added a |
|
60 |
|
61 |
|
62 HG: Enter commit message. Lines beginning with 'HG:' are removed. |
|
63 HG: Leave message empty to abort commit. |
|
64 HG: -- |
|
65 HG: user: test |
|
66 HG: branch 'default' |
|
67 HG: added a |
|
68 |
|
69 $ HGEDITOR=cat hg ci --amend -m "Added a" --edit |
|
70 Added a |
|
71 |
|
72 |
|
73 HG: Enter commit message. Lines beginning with 'HG:' are removed. |
|
74 HG: Leave message empty to abort commit. |
|
75 HG: -- |
|
76 HG: user: test |
|
77 HG: branch 'default' |
|
78 HG: added a |
|
79 $ hg ci --amend -m "added a'" --config experimental.topic-mode=ignore |
|
80 $ hg log |
|
81 changeset: 2:2e862d8b5eff |
|
82 tag: tip |
|
83 parent: -1:000000000000 |
|
84 user: test |
|
85 date: Thu Jan 01 00:00:00 1970 +0000 |
|
86 summary: added a' |
|
87 |
|
88 |
|
89 Testing the config knob to warn about untopiced merge commit |
|
90 ================================================================ |
|
91 |
|
92 $ hg init $TESTTMP/test-untopic-merge-commit |
|
93 $ cd $TESTTMP/test-untopic-merge-commit |
|
94 $ cat <<EOF >> .hg/hgrc |
|
95 > [phases] |
|
96 > publish=false |
|
97 > EOF |
|
98 $ cat <<EOF >> $HGRCPATH |
|
99 > [experimental] |
|
100 > topic-mode = enforce |
|
101 > EOF |
|
102 $ touch ROOT |
|
103 $ hg commit -A -m "ROOT" --config experimental.topic-mode=ignore |
|
104 adding ROOT |
|
105 $ touch a |
|
106 $ hg add a |
|
107 $ hg topic mytopic |
|
108 marked working directory as topic: mytopic |
|
109 $ hg ci -m "Added a" |
|
110 active topic 'mytopic' grew its first changeset |
|
111 |
|
112 $ hg up -r "desc('ROOT')" |
|
113 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
114 $ touch default |
|
115 $ hg add default |
|
116 $ hg commit -m "default" --config experimental.topic-mode=ignore |
|
117 |
|
118 $ hg merge mytopic |
|
119 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
120 (branch merge, don't forget to commit) |
|
121 $ hg commit -m "merge mytopic" |
|
122 warning: new draft commit without topic |
|
123 (see 'hg help -e topic.topic-mode' for details) |
|
124 |
|
125 $ hg log -G |
|
126 @ changeset: 3:676a445d1c09 |
|
127 |\ tag: tip |
|
128 | | parent: 2:a4da109ee59f |
|
129 | | parent: 1:e5b6c632bd8e |
|
130 | | user: test |
|
131 | | date: Thu Jan 01 00:00:00 1970 +0000 |
|
132 | | summary: merge mytopic |
|
133 | | |
|
134 | o changeset: 2:a4da109ee59f |
|
135 | | parent: 0:ec1d2790416d |
|
136 | | user: test |
|
137 | | date: Thu Jan 01 00:00:00 1970 +0000 |
|
138 | | summary: default |
|
139 | | |
|
140 o | changeset: 1:e5b6c632bd8e |
|
141 |/ topic: mytopic |
|
142 | user: test |
|
143 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
144 | summary: Added a |
|
145 | |
|
146 o changeset: 0:ec1d2790416d |
|
147 user: test |
|
148 date: Thu Jan 01 00:00:00 1970 +0000 |
|
149 summary: ROOT |
|
150 |
|
151 |
|
152 Testing the config knob to about on untopiced merge commit |
|
153 ================================================================ |
|
154 |
|
155 $ hg init $TESTTMP/test-untopic-merge-commit-abort |
|
156 $ cd $TESTTMP/test-untopic-merge-commit-abort |
|
157 $ cat <<EOF >> .hg/hgrc |
|
158 > [phases] |
|
159 > publish=false |
|
160 > EOF |
|
161 $ cat <<EOF >> $HGRCPATH |
|
162 > [experimental] |
|
163 > topic-mode = enforce-all |
|
164 > EOF |
|
165 $ touch ROOT |
|
166 $ hg commit -A -m "ROOT" --config experimental.topic-mode=ignore |
|
167 adding ROOT |
|
168 $ touch a |
|
169 $ hg add a |
|
170 $ hg topic mytopic |
|
171 marked working directory as topic: mytopic |
|
172 $ hg ci -m "Added a" |
|
173 active topic 'mytopic' grew its first changeset |
|
174 |
|
175 $ hg up -r "desc('ROOT')" |
|
176 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
177 $ touch default |
|
178 $ hg add default |
|
179 $ hg commit -m "default" --config experimental.topic-mode=ignore |
|
180 |
|
181 $ hg merge mytopic |
|
182 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
183 (branch merge, don't forget to commit) |
|
184 $ hg commit -m "merge mytopic" |
|
185 abort: no active topic |
|
186 (see 'hg help -e topic.topic-mode' for details) |
|
187 [255] |
|
188 |
|
189 $ hg log -G |
|
190 @ changeset: 2:a4da109ee59f |
|
191 | tag: tip |
|
192 | parent: 0:ec1d2790416d |
|
193 | user: test |
|
194 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
195 | summary: default |
|
196 | |
|
197 | @ changeset: 1:e5b6c632bd8e |
|
198 |/ topic: mytopic |
|
199 | user: test |
|
200 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
201 | summary: Added a |
|
202 | |
|
203 o changeset: 0:ec1d2790416d |
|
204 user: test |
|
205 date: Thu Jan 01 00:00:00 1970 +0000 |
|
206 summary: ROOT |
|
207 |
|
208 Testing the config knob to use a random topic for untopic commit |
|
209 ==================================================================== |
|
210 |
|
211 $ hg init $TESTTMP/test-untopic-random |
|
212 $ cd $TESTTMP/test-untopic-random |
|
213 $ cat <<EOF >> .hg/hgrc |
|
214 > [phases] |
|
215 > publish=false |
|
216 > EOF |
|
217 $ cat <<EOF >> $HGRCPATH |
|
218 > [experimental] |
|
219 > topic-mode = random |
|
220 > EOF |
|
221 |
|
222 $ touch ROOT |
|
223 $ hg commit -A -m "ROOT" --config experimental.topic-mode=ignore |
|
224 adding ROOT |
|
225 |
|
226 $ touch A |
|
227 $ hg add A |
|
228 $ hg commit -m "Add A" --config devel.randomseed=42 |
|
229 active topic 'panoramic-antelope' grew its first changeset |
|
230 |
|
231 $ hg up -r "desc(ROOT)" |
|
232 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
233 |
|
234 $ touch B |
|
235 $ hg add B |
|
236 $ hg commit -m "Add B" --config devel.randomseed=128 |
|
237 active topic 'various-dove' grew its first changeset |
|
238 |
|
239 Test a merge too |
|
240 |
|
241 $ hg phase --public -r . |
|
242 active topic 'various-dove' is now empty |
|
243 $ hg up default |
|
244 clearing empty topic "various-dove" |
|
245 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
246 $ hg log -G |
|
247 @ changeset: 2:2d2acb6efad5 |
|
248 | tag: tip |
|
249 | parent: 0:ec1d2790416d |
|
250 | user: test |
|
251 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
252 | summary: Add B |
|
253 | |
|
254 | o changeset: 1:d4b548f35972 |
|
255 |/ topic: panoramic-antelope |
|
256 | user: test |
|
257 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
258 | summary: Add A |
|
259 | |
|
260 o changeset: 0:ec1d2790416d |
|
261 user: test |
|
262 date: Thu Jan 01 00:00:00 1970 +0000 |
|
263 summary: ROOT |
|
264 |
|
265 $ hg merge panoramic-antelope |
|
266 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
267 (branch merge, don't forget to commit) |
|
268 $ hg ci -m 'merge' |
|
269 Testing the config knob to use a random topic for untopic commit (even for merge) |
|
270 ================================================================================= |
|
271 |
|
272 $ hg init $TESTTMP/test-untopic-random-all |
|
273 $ cd $TESTTMP/test-untopic-random-all |
|
274 $ cat <<EOF >> .hg/hgrc |
|
275 > [phases] |
|
276 > publish=false |
|
277 > EOF |
|
278 $ cat <<EOF >> $HGRCPATH |
|
279 > [experimental] |
|
280 > topic-mode = random-all |
|
281 > EOF |
|
282 |
|
283 $ touch ROOT |
|
284 $ hg commit -A -m "ROOT" --config experimental.topic-mode=ignore |
|
285 adding ROOT |
|
286 |
|
287 $ touch A |
|
288 $ hg add A |
|
289 $ hg commit -m "Add A" --config devel.randomseed=42 |
|
290 active topic 'panoramic-antelope' grew its first changeset |
|
291 |
|
292 $ hg up -r "desc(ROOT)" |
|
293 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
294 |
|
295 $ touch B |
|
296 $ hg add B |
|
297 $ hg commit -m "Add B" --config devel.randomseed=128 |
|
298 active topic 'various-dove' grew its first changeset |
|
299 |
|
300 Test a merge too |
|
301 |
|
302 $ hg phase --public -r . |
|
303 active topic 'various-dove' is now empty |
|
304 $ hg up default |
|
305 clearing empty topic "various-dove" |
|
306 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
307 $ hg log -G |
|
308 @ changeset: 2:2d2acb6efad5 |
|
309 | tag: tip |
|
310 | parent: 0:ec1d2790416d |
|
311 | user: test |
|
312 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
313 | summary: Add B |
|
314 | |
|
315 | o changeset: 1:d4b548f35972 |
|
316 |/ topic: panoramic-antelope |
|
317 | user: test |
|
318 | date: Thu Jan 01 00:00:00 1970 +0000 |
|
319 | summary: Add A |
|
320 | |
|
321 o changeset: 0:ec1d2790416d |
|
322 user: test |
|
323 date: Thu Jan 01 00:00:00 1970 +0000 |
|
324 summary: ROOT |
|
325 |
|
326 $ hg merge panoramic-antelope |
|
327 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
328 (branch merge, don't forget to commit) |
|
329 $ hg ci -m 'merge' --config devel.randomseed=1337 |
|
330 active topic 'omniscient-locust' grew its first changeset |
|