1 $ cat >> $HGRCPATH <<EOF |
|
2 > [ui] |
|
3 > logtemplate = {rev}:{node|short} {desc}\n |
|
4 > [experimental] |
|
5 > prunestrip=True |
|
6 > evolution=createmarkers |
|
7 > [extensions] |
|
8 > rebase= |
|
9 > strip= |
|
10 > EOF |
|
11 $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext/evolve.py" >> $HGRCPATH |
|
12 $ echo "directaccess=$(echo $(dirname $TESTDIR))/hgext/directaccess.py" >> $HGRCPATH |
|
13 $ echo "inhibit=$(echo $(dirname $TESTDIR))/hgext/inhibit.py" >> $HGRCPATH |
|
14 $ mkcommit() { |
|
15 > echo "$1" > "$1" |
|
16 > hg add "$1" |
|
17 > hg ci -m "add $1" |
|
18 > } |
|
19 |
|
20 $ hg init inhibit |
|
21 $ cd inhibit |
|
22 $ mkcommit cA |
|
23 $ mkcommit cB |
|
24 $ mkcommit cC |
|
25 $ mkcommit cD |
|
26 $ hg up 'desc(cA)' |
|
27 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
|
28 $ mkcommit cE |
|
29 created new head |
|
30 $ mkcommit cG |
|
31 $ mkcommit cH |
|
32 $ mkcommit cJ |
|
33 $ hg log -G |
|
34 @ 7:18214586bf78 add cJ |
|
35 | |
|
36 o 6:cf5c4f4554ce add cH |
|
37 | |
|
38 o 5:5419eb264a33 add cG |
|
39 | |
|
40 o 4:98065434e5c6 add cE |
|
41 | |
|
42 | o 3:2db36d8066ff add cD |
|
43 | | |
|
44 | o 2:7df62a38b9bf add cC |
|
45 | | |
|
46 | o 1:02bcbc3f6e56 add cB |
|
47 |/ |
|
48 o 0:54ccbc537fc2 add cA |
|
49 |
|
50 |
|
51 plain prune |
|
52 |
|
53 $ hg strip 1:: |
|
54 3 changesets pruned |
|
55 $ hg log -G |
|
56 @ 7:18214586bf78 add cJ |
|
57 | |
|
58 o 6:cf5c4f4554ce add cH |
|
59 | |
|
60 o 5:5419eb264a33 add cG |
|
61 | |
|
62 o 4:98065434e5c6 add cE |
|
63 | |
|
64 o 0:54ccbc537fc2 add cA |
|
65 |
|
66 $ hg debugobsinhibit --hidden 1:: |
|
67 $ hg log -G |
|
68 @ 7:18214586bf78 add cJ |
|
69 | |
|
70 o 6:cf5c4f4554ce add cH |
|
71 | |
|
72 o 5:5419eb264a33 add cG |
|
73 | |
|
74 o 4:98065434e5c6 add cE |
|
75 | |
|
76 | o 3:2db36d8066ff add cD |
|
77 | | |
|
78 | o 2:7df62a38b9bf add cC |
|
79 | | |
|
80 | o 1:02bcbc3f6e56 add cB |
|
81 |/ |
|
82 o 0:54ccbc537fc2 add cA |
|
83 |
|
84 $ hg strip --hidden 1:: |
|
85 3 changesets pruned |
|
86 $ hg log -G |
|
87 @ 7:18214586bf78 add cJ |
|
88 | |
|
89 o 6:cf5c4f4554ce add cH |
|
90 | |
|
91 o 5:5419eb264a33 add cG |
|
92 | |
|
93 o 4:98065434e5c6 add cE |
|
94 | |
|
95 o 0:54ccbc537fc2 add cA |
|
96 |
|
97 |
|
98 after amend |
|
99 |
|
100 $ echo babar > cJ |
|
101 $ hg commit --amend |
|
102 $ hg log -G |
|
103 @ 9:55c73a90e4b4 add cJ |
|
104 | |
|
105 o 6:cf5c4f4554ce add cH |
|
106 | |
|
107 o 5:5419eb264a33 add cG |
|
108 | |
|
109 o 4:98065434e5c6 add cE |
|
110 | |
|
111 o 0:54ccbc537fc2 add cA |
|
112 |
|
113 $ hg debugobsinhibit --hidden 18214586bf78 |
|
114 $ hg log -G |
|
115 @ 9:55c73a90e4b4 add cJ |
|
116 | |
|
117 | o 7:18214586bf78 add cJ |
|
118 |/ |
|
119 o 6:cf5c4f4554ce add cH |
|
120 | |
|
121 o 5:5419eb264a33 add cG |
|
122 | |
|
123 o 4:98065434e5c6 add cE |
|
124 | |
|
125 o 0:54ccbc537fc2 add cA |
|
126 |
|
127 |
|
128 and no divergence |
|
129 |
|
130 $ hg summary |
|
131 parent: 9:55c73a90e4b4 tip |
|
132 add cJ |
|
133 branch: default |
|
134 commit: (clean) |
|
135 update: 1 new changesets, 2 branch heads (merge) |
|
136 |
|
137 check public revision got cleared |
|
138 (when adding the second inhibitor, the first one is removed because it is public) |
|
139 |
|
140 $ wc -m .hg/store/obsinhibit | sed -e 's/^[ \t]*//' |
|
141 20 .hg/store/obsinhibit |
|
142 $ hg strip 7 |
|
143 1 changesets pruned |
|
144 $ hg debugobsinhibit --hidden 18214586bf78 |
|
145 $ wc -m .hg/store/obsinhibit | sed -e 's/^[ \t]*//' |
|
146 20 .hg/store/obsinhibit |
|
147 $ hg log -G |
|
148 @ 9:55c73a90e4b4 add cJ |
|
149 | |
|
150 | o 7:18214586bf78 add cJ |
|
151 |/ |
|
152 o 6:cf5c4f4554ce add cH |
|
153 | |
|
154 o 5:5419eb264a33 add cG |
|
155 | |
|
156 o 4:98065434e5c6 add cE |
|
157 | |
|
158 o 0:54ccbc537fc2 add cA |
|
159 |
|
160 $ hg phase --public 7 |
|
161 $ hg strip 9 |
|
162 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
163 working directory now at cf5c4f4554ce |
|
164 1 changesets pruned |
|
165 $ hg log -G |
|
166 o 7:18214586bf78 add cJ |
|
167 | |
|
168 @ 6:cf5c4f4554ce add cH |
|
169 | |
|
170 o 5:5419eb264a33 add cG |
|
171 | |
|
172 o 4:98065434e5c6 add cE |
|
173 | |
|
174 o 0:54ccbc537fc2 add cA |
|
175 |
|
176 $ hg debugobsinhibit --hidden 55c73a90e4b4 |
|
177 $ wc -m .hg/store/obsinhibit | sed -e 's/^[ \t]*//' |
|
178 20 .hg/store/obsinhibit |
|
179 $ hg log -G |
|
180 o 9:55c73a90e4b4 add cJ |
|
181 | |
|
182 | o 7:18214586bf78 add cJ |
|
183 |/ |
|
184 @ 6:cf5c4f4554ce add cH |
|
185 | |
|
186 o 5:5419eb264a33 add cG |
|
187 | |
|
188 o 4:98065434e5c6 add cE |
|
189 | |
|
190 o 0:54ccbc537fc2 add cA |
|
191 |
|
192 Update should inhibit all related unstable commits |
|
193 |
|
194 $ hg update 2 --hidden |
|
195 2 files updated, 0 files merged, 3 files removed, 0 files unresolved |
|
196 $ hg log -G |
|
197 o 9:55c73a90e4b4 add cJ |
|
198 | |
|
199 | o 7:18214586bf78 add cJ |
|
200 |/ |
|
201 o 6:cf5c4f4554ce add cH |
|
202 | |
|
203 o 5:5419eb264a33 add cG |
|
204 | |
|
205 o 4:98065434e5c6 add cE |
|
206 | |
|
207 | @ 2:7df62a38b9bf add cC |
|
208 | | |
|
209 | o 1:02bcbc3f6e56 add cB |
|
210 |/ |
|
211 o 0:54ccbc537fc2 add cA |
|
212 |
|
213 |
|
214 $ hg update 9 |
|
215 4 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
216 $ hg log -G |
|
217 @ 9:55c73a90e4b4 add cJ |
|
218 | |
|
219 | o 7:18214586bf78 add cJ |
|
220 |/ |
|
221 o 6:cf5c4f4554ce add cH |
|
222 | |
|
223 o 5:5419eb264a33 add cG |
|
224 | |
|
225 o 4:98065434e5c6 add cE |
|
226 | |
|
227 | o 2:7df62a38b9bf add cC |
|
228 | | |
|
229 | o 1:02bcbc3f6e56 add cB |
|
230 |/ |
|
231 o 0:54ccbc537fc2 add cA |
|
232 |
|
233 $ hg strip --hidden 1:: |
|
234 3 changesets pruned |
|
235 $ hg log -G |
|
236 @ 9:55c73a90e4b4 add cJ |
|
237 | |
|
238 | o 7:18214586bf78 add cJ |
|
239 |/ |
|
240 o 6:cf5c4f4554ce add cH |
|
241 | |
|
242 o 5:5419eb264a33 add cG |
|
243 | |
|
244 o 4:98065434e5c6 add cE |
|
245 | |
|
246 o 0:54ccbc537fc2 add cA |
|
247 |
|
248 |
|
249 Bookmark should inhibit all related unstable commits |
|
250 $ hg bookmark -r 2 book1 --hidden |
|
251 $ hg log -G |
|
252 @ 9:55c73a90e4b4 add cJ |
|
253 | |
|
254 | o 7:18214586bf78 add cJ |
|
255 |/ |
|
256 o 6:cf5c4f4554ce add cH |
|
257 | |
|
258 o 5:5419eb264a33 add cG |
|
259 | |
|
260 o 4:98065434e5c6 add cE |
|
261 | |
|
262 | o 2:7df62a38b9bf add cC |
|
263 | | |
|
264 | o 1:02bcbc3f6e56 add cB |
|
265 |/ |
|
266 o 0:54ccbc537fc2 add cA |
|
267 |
|
268 |
|
269 Removing a bookmark with bookmark -D should prune the changes underneath |
|
270 that are not reachable from another bookmark or head |
|
271 |
|
272 $ hg bookmark -r 1 book2 |
|
273 $ hg bookmark -D book1 --config experimental.evolution=createmarkers #--config to make sure prune is not registered as a command. |
|
274 bookmark 'book1' deleted |
|
275 1 changesets pruned |
|
276 $ hg log -G |
|
277 @ 9:55c73a90e4b4 add cJ |
|
278 | |
|
279 | o 7:18214586bf78 add cJ |
|
280 |/ |
|
281 o 6:cf5c4f4554ce add cH |
|
282 | |
|
283 o 5:5419eb264a33 add cG |
|
284 | |
|
285 o 4:98065434e5c6 add cE |
|
286 | |
|
287 | o 1:02bcbc3f6e56 add cB |
|
288 |/ |
|
289 o 0:54ccbc537fc2 add cA |
|
290 |
|
291 $ hg bookmark -D book2 |
|
292 bookmark 'book2' deleted |
|
293 1 changesets pruned |
|
294 $ hg log -G |
|
295 @ 9:55c73a90e4b4 add cJ |
|
296 | |
|
297 | o 7:18214586bf78 add cJ |
|
298 |/ |
|
299 o 6:cf5c4f4554ce add cH |
|
300 | |
|
301 o 5:5419eb264a33 add cG |
|
302 | |
|
303 o 4:98065434e5c6 add cE |
|
304 | |
|
305 o 0:54ccbc537fc2 add cA |
|
306 |
|
307 Test that direct access make changesets visible |
|
308 |
|
309 $ hg export 2db36d8066ff 02bcbc3f6e56 |
|
310 # HG changeset patch |
|
311 # User test |
|
312 # Date 0 0 |
|
313 # Thu Jan 01 00:00:00 1970 +0000 |
|
314 # Node ID 2db36d8066ff50e8be3d3e6c2da1ebc0a8381d82 |
|
315 # Parent 7df62a38b9bf9daf968de235043ba88a8ef43393 |
|
316 add cD |
|
317 |
|
318 diff -r 7df62a38b9bf -r 2db36d8066ff cD |
|
319 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
320 +++ b/cD Thu Jan 01 00:00:00 1970 +0000 |
|
321 @@ -0,0 +1,1 @@ |
|
322 +cD |
|
323 # HG changeset patch |
|
324 # User test |
|
325 # Date 0 0 |
|
326 # Thu Jan 01 00:00:00 1970 +0000 |
|
327 # Node ID 02bcbc3f6e56fb2928efec2c6e24472720bf5511 |
|
328 # Parent 54ccbc537fc2d6845a5d61337c1cfb80d1d2815e |
|
329 add cB |
|
330 |
|
331 diff -r 54ccbc537fc2 -r 02bcbc3f6e56 cB |
|
332 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
333 +++ b/cB Thu Jan 01 00:00:00 1970 +0000 |
|
334 @@ -0,0 +1,1 @@ |
|
335 +cB |
|
336 |
|
337 But only with hash |
|
338 |
|
339 $ hg export 2db36d8066ff:: |
|
340 # HG changeset patch |
|
341 # User test |
|
342 # Date 0 0 |
|
343 # Thu Jan 01 00:00:00 1970 +0000 |
|
344 # Node ID 2db36d8066ff50e8be3d3e6c2da1ebc0a8381d82 |
|
345 # Parent 7df62a38b9bf9daf968de235043ba88a8ef43393 |
|
346 add cD |
|
347 |
|
348 diff -r 7df62a38b9bf -r 2db36d8066ff cD |
|
349 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 |
|
350 +++ b/cD Thu Jan 01 00:00:00 1970 +0000 |
|
351 @@ -0,0 +1,1 @@ |
|
352 +cD |
|
353 |
|
354 $ hg export 1 3 |
|
355 abort: filtered revision '1' (not in 'visible-directaccess-nowarn' subset)! |
|
356 [255] |
|
357 |
|
358 |
|
359 With severals hidden sha, rebase of one hidden stack onto another one: |
|
360 $ hg update -C 0 |
|
361 0 files updated, 0 files merged, 4 files removed, 0 files unresolved |
|
362 $ mkcommit cK |
|
363 created new head |
|
364 $ mkcommit cL |
|
365 $ hg update -C 9 |
|
366 4 files updated, 0 files merged, 2 files removed, 0 files unresolved |
|
367 $ hg log -G |
|
368 o 11:53a94305e133 add cL |
|
369 | |
|
370 o 10:ad78ff7d621f add cK |
|
371 | |
|
372 | @ 9:55c73a90e4b4 add cJ |
|
373 | | |
|
374 | | o 7:18214586bf78 add cJ |
|
375 | |/ |
|
376 | o 6:cf5c4f4554ce add cH |
|
377 | | |
|
378 | o 5:5419eb264a33 add cG |
|
379 | | |
|
380 | o 4:98065434e5c6 add cE |
|
381 |/ |
|
382 o 0:54ccbc537fc2 add cA |
|
383 |
|
384 $ hg strip --hidden 10: |
|
385 2 changesets pruned |
|
386 $ hg log -G |
|
387 @ 9:55c73a90e4b4 add cJ |
|
388 | |
|
389 | o 7:18214586bf78 add cJ |
|
390 |/ |
|
391 o 6:cf5c4f4554ce add cH |
|
392 | |
|
393 o 5:5419eb264a33 add cG |
|
394 | |
|
395 o 4:98065434e5c6 add cE |
|
396 | |
|
397 o 0:54ccbc537fc2 add cA |
|
398 |
|
399 $ hg rebase -s 10 -d 3 |
|
400 abort: filtered revision '3' (not in 'visible-directaccess-warn' subset)! |
|
401 [255] |
|
402 $ hg rebase -r ad78ff7d621f -r 53a94305e133 -d 2db36d8066ff |
|
403 Warning: accessing hidden changesets 2db36d8066ff for write operation |
|
404 Warning: accessing hidden changesets ad78ff7d621f for write operation |
|
405 Warning: accessing hidden changesets 53a94305e133 for write operation |
|
406 rebasing 10:ad78ff7d621f "add cK" |
|
407 rebasing 11:53a94305e133 "add cL" |
|
408 $ hg log -G |
|
409 o 13:2f7b7704d714 add cL |
|
410 | |
|
411 o 12:fe1634cbe235 add cK |
|
412 | |
|
413 | @ 9:55c73a90e4b4 add cJ |
|
414 | | |
|
415 | | o 7:18214586bf78 add cJ |
|
416 | |/ |
|
417 | o 6:cf5c4f4554ce add cH |
|
418 | | |
|
419 | o 5:5419eb264a33 add cG |
|
420 | | |
|
421 | o 4:98065434e5c6 add cE |
|
422 | | |
|
423 o | 3:2db36d8066ff add cD |
|
424 | | |
|
425 o | 2:7df62a38b9bf add cC |
|
426 | | |
|
427 o | 1:02bcbc3f6e56 add cB |
|
428 |/ |
|
429 o 0:54ccbc537fc2 add cA |
|
430 |
|
431 Check that amending in the middle of a stack does not show obsolete revs |
|
432 Since we are doing operation in the middle of the stack we cannot just |
|
433 have createmarkers as we are creating instability |
|
434 |
|
435 $ cat >> $HGRCPATH <<EOF |
|
436 > [experimental] |
|
437 > evolution=all |
|
438 > EOF |
|
439 |
|
440 $ hg strip --hidden 1:: |
|
441 5 changesets pruned |
|
442 $ hg log -G |
|
443 @ 9:55c73a90e4b4 add cJ |
|
444 | |
|
445 | o 7:18214586bf78 add cJ |
|
446 |/ |
|
447 o 6:cf5c4f4554ce add cH |
|
448 | |
|
449 o 5:5419eb264a33 add cG |
|
450 | |
|
451 o 4:98065434e5c6 add cE |
|
452 | |
|
453 o 0:54ccbc537fc2 add cA |
|
454 |
|
455 $ hg up 7 |
|
456 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
457 $ mkcommit cL |
|
458 $ mkcommit cM |
|
459 $ mkcommit cN |
|
460 $ hg log -G |
|
461 @ 16:a438c045eb37 add cN |
|
462 | |
|
463 o 15:2d66e189f5b5 add cM |
|
464 | |
|
465 o 14:d66ccb8c5871 add cL |
|
466 | |
|
467 | o 9:55c73a90e4b4 add cJ |
|
468 | | |
|
469 o | 7:18214586bf78 add cJ |
|
470 |/ |
|
471 o 6:cf5c4f4554ce add cH |
|
472 | |
|
473 o 5:5419eb264a33 add cG |
|
474 | |
|
475 o 4:98065434e5c6 add cE |
|
476 | |
|
477 o 0:54ccbc537fc2 add cA |
|
478 |
|
479 $ hg up 15 |
|
480 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
481 $ echo "mmm" >> cM |
|
482 $ hg amend |
|
483 $ hg log -G |
|
484 @ 18:210589181b14 add cM |
|
485 | |
|
486 | o 16:a438c045eb37 add cN |
|
487 | | |
|
488 | o 15:2d66e189f5b5 add cM |
|
489 |/ |
|
490 o 14:d66ccb8c5871 add cL |
|
491 | |
|
492 | o 9:55c73a90e4b4 add cJ |
|
493 | | |
|
494 o | 7:18214586bf78 add cJ |
|
495 |/ |
|
496 o 6:cf5c4f4554ce add cH |
|
497 | |
|
498 o 5:5419eb264a33 add cG |
|
499 | |
|
500 o 4:98065434e5c6 add cE |
|
501 | |
|
502 o 0:54ccbc537fc2 add cA |
|
503 |
|
504 Check that rebasing a commit twice makes the commit visible again |
|
505 |
|
506 $ hg rebase -d 18 -r 16 --keep |
|
507 rebasing 16:a438c045eb37 "add cN" |
|
508 $ hg log -r 14:: -G |
|
509 o 19:104eed5354c7 add cN |
|
510 | |
|
511 @ 18:210589181b14 add cM |
|
512 | |
|
513 | o 16:a438c045eb37 add cN |
|
514 | | |
|
515 | o 15:2d66e189f5b5 add cM |
|
516 |/ |
|
517 o 14:d66ccb8c5871 add cL |
|
518 | |
|
519 $ hg strip -r 104eed5354c7 |
|
520 1 changesets pruned |
|
521 $ hg rebase -d 18 -r 16 --keep |
|
522 rebasing 16:a438c045eb37 "add cN" |
|
523 $ hg log -r 14:: -G |
|
524 o 19:104eed5354c7 add cN |
|
525 | |
|
526 @ 18:210589181b14 add cM |
|
527 | |
|
528 | o 16:a438c045eb37 add cN |
|
529 | | |
|
530 | o 15:2d66e189f5b5 add cM |
|
531 |/ |
|
532 o 14:d66ccb8c5871 add cL |
|
533 | |
|
534 |
|
535 Test prunestrip |
|
536 |
|
537 $ hg book foo -r 104eed5354c7 |
|
538 $ hg strip -r 210589181b14 |
|
539 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
540 working directory now at d66ccb8c5871 |
|
541 2 changesets pruned |
|
542 $ hg log -r 14:: -G -T '{rev}:{node|short} {desc|firstline} {bookmarks}\n' |
|
543 o 16:a438c045eb37 add cN |
|
544 | |
|
545 o 15:2d66e189f5b5 add cM |
|
546 | |
|
547 @ 14:d66ccb8c5871 add cL foo |
|
548 | |
|
549 |
|
550 Check that --hidden used with inhibit does not hide every obsolete commit |
|
551 We show the log before and after a log -G --hidden, they should be the same |
|
552 $ hg log -G |
|
553 o 16:a438c045eb37 add cN |
|
554 | |
|
555 o 15:2d66e189f5b5 add cM |
|
556 | |
|
557 @ 14:d66ccb8c5871 add cL |
|
558 | |
|
559 | o 9:55c73a90e4b4 add cJ |
|
560 | | |
|
561 o | 7:18214586bf78 add cJ |
|
562 |/ |
|
563 o 6:cf5c4f4554ce add cH |
|
564 | |
|
565 o 5:5419eb264a33 add cG |
|
566 | |
|
567 o 4:98065434e5c6 add cE |
|
568 | |
|
569 o 0:54ccbc537fc2 add cA |
|
570 |
|
571 $ hg log -G --hidden |
|
572 x 19:104eed5354c7 add cN |
|
573 | |
|
574 x 18:210589181b14 add cM |
|
575 | |
|
576 | x 17:b3c3274523f9 temporary amend commit for 2d66e189f5b5 |
|
577 | | |
|
578 | | o 16:a438c045eb37 add cN |
|
579 | |/ |
|
580 | o 15:2d66e189f5b5 add cM |
|
581 |/ |
|
582 @ 14:d66ccb8c5871 add cL |
|
583 | |
|
584 | x 13:2f7b7704d714 add cL |
|
585 | | |
|
586 | x 12:fe1634cbe235 add cK |
|
587 | | |
|
588 | | x 11:53a94305e133 add cL |
|
589 | | | |
|
590 | | x 10:ad78ff7d621f add cK |
|
591 | | | |
|
592 | | | o 9:55c73a90e4b4 add cJ |
|
593 | | | | |
|
594 +-------x 8:e84f73d9ad36 temporary amend commit for 18214586bf78 |
|
595 | | | | |
|
596 o-----+ 7:18214586bf78 add cJ |
|
597 / / / |
|
598 | | o 6:cf5c4f4554ce add cH |
|
599 | | | |
|
600 | | o 5:5419eb264a33 add cG |
|
601 | | | |
|
602 | | o 4:98065434e5c6 add cE |
|
603 | |/ |
|
604 x | 3:2db36d8066ff add cD |
|
605 | | |
|
606 x | 2:7df62a38b9bf add cC |
|
607 | | |
|
608 x | 1:02bcbc3f6e56 add cB |
|
609 |/ |
|
610 o 0:54ccbc537fc2 add cA |
|
611 |
|
612 |
|
613 $ hg log -G |
|
614 o 16:a438c045eb37 add cN |
|
615 | |
|
616 o 15:2d66e189f5b5 add cM |
|
617 | |
|
618 @ 14:d66ccb8c5871 add cL |
|
619 | |
|
620 | o 9:55c73a90e4b4 add cJ |
|
621 | | |
|
622 o | 7:18214586bf78 add cJ |
|
623 |/ |
|
624 o 6:cf5c4f4554ce add cH |
|
625 | |
|
626 o 5:5419eb264a33 add cG |
|
627 | |
|
628 o 4:98065434e5c6 add cE |
|
629 | |
|
630 o 0:54ccbc537fc2 add cA |
|
631 |
|
632 |
|
633 check that pruning and inhibited node does not confuse anything |
|
634 |
|
635 $ hg up --hidden 210589181b14 |
|
636 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
637 $ hg strip --bundle 210589181b14 |
|
638 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
|
639 saved backup bundle to $TESTTMP/inhibit/.hg/strip-backup/210589181b14-e09c7b88-backup.hg (glob) |
|
640 $ hg unbundle .hg/strip-backup/210589181b14-e09c7b88-backup.hg # restore state |
|
641 adding changesets |
|
642 adding manifests |
|
643 adding file changes |
|
644 added 2 changesets with 1 changes to 2 files (+1 heads) |
|
645 (run 'hg heads' to see heads, 'hg merge' to merge) |
|
646 |
|
647 Only allow direct access and check that evolve works like before |
|
648 (also disable evolve commands to avoid hint about using evolve) |
|
649 $ cat >> $HGRCPATH <<EOF |
|
650 > [extensions] |
|
651 > inhibit=! |
|
652 > [experimental] |
|
653 > evolution=createmarkers |
|
654 > EOF |
|
655 |
|
656 $ hg up 15 |
|
657 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
|
658 working directory parent is obsolete! |
|
659 $ cat >> $HGRCPATH <<EOF |
|
660 > [experimental] |
|
661 > evolution=all |
|
662 > EOF |
|
663 $ echo "CM" > cM |
|
664 $ hg amend |
|
665 $ hg log -G |
|
666 @ 21:721c3c279519 add cM |
|
667 | |
|
668 | o 16:a438c045eb37 add cN |
|
669 | | |
|
670 | x 15:2d66e189f5b5 add cM |
|
671 |/ |
|
672 o 14:d66ccb8c5871 add cL |
|
673 | |
|
674 o 7:18214586bf78 add cJ |
|
675 | |
|
676 o 6:cf5c4f4554ce add cH |
|
677 | |
|
678 o 5:5419eb264a33 add cG |
|
679 | |
|
680 o 4:98065434e5c6 add cE |
|
681 | |
|
682 o 0:54ccbc537fc2 add cA |
|
683 |
|
684 $ cat >> $HGRCPATH <<EOF |
|
685 > [extensions] |
|
686 > EOF |
|
687 $ echo "inhibit=$(echo $(dirname $TESTDIR))/hgext/inhibit.py" >> $HGRCPATH |
|
688 |
|
689 Empty commit |
|
690 $ hg amend |
|
691 nothing changed |
|
692 [1] |
|
693 |
|
694 Directaccess should load after some extensions precised in the conf |
|
695 With no extension specified: |
|
696 |
|
697 $ cat >$TESTTMP/test_extension.py << EOF |
|
698 > from mercurial import extensions |
|
699 > def uisetup(ui): |
|
700 > print extensions._order |
|
701 > EOF |
|
702 $ cat >> $HGRCPATH << EOF |
|
703 > [extensions] |
|
704 > testextension=$TESTTMP/test_extension.py |
|
705 > EOF |
|
706 $ hg id |
|
707 ['rebase', 'strip', 'evolve', 'directaccess', 'inhibit', 'testextension'] |
|
708 721c3c279519 tip |
|
709 |
|
710 With test_extension specified: |
|
711 $ cat >> $HGRCPATH << EOF |
|
712 > [directaccess] |
|
713 > loadsafter=testextension |
|
714 > EOF |
|
715 $ hg id |
|
716 ['rebase', 'strip', 'evolve', 'inhibit', 'testextension', 'directaccess'] |
|
717 721c3c279519 tip |
|
718 |
|
719 Inhibit should not work without directaccess |
|
720 $ cat >> $HGRCPATH <<EOF |
|
721 > [extensions] |
|
722 > directaccess=! |
|
723 > testextension=! |
|
724 > EOF |
|
725 $ hg up 15 |
|
726 abort: Cannot use inhibit without the direct access extension |
|
727 [255] |
|
728 $ echo "directaccess=$(echo $(dirname $TESTDIR))/hgext/directaccess.py" >> $HGRCPATH |
|
729 $ cd .. |
|
730 |
|
731 |
|
732 hg push should not allow directaccess unless forced with --hidden |
|
733 We copy the inhibhit repo to inhibit2 and make some changes to push to inhibit |
|
734 |
|
735 $ cp -r inhibit inhibit2 |
|
736 $ pwd=$(pwd) |
|
737 $ cd inhibit |
|
738 $ mkcommit pk |
|
739 $ hg id |
|
740 003a4735afde tip |
|
741 $ echo "OO" > pk |
|
742 $ hg amend |
|
743 $ hg id |
|
744 71eb4f100663 tip |
|
745 |
|
746 Hidden commits cannot be pushed without --hidden |
|
747 $ hg push -r 003a4735afde file://$pwd/inhibit2 |
|
748 pushing to file://$TESTTMP/inhibit2 |
|
749 abort: hidden revision '003a4735afde'! |
|
750 (use --hidden to access hidden revisions) |
|
751 [255] |
|
752 |
|
753 Visible commits can still be pushed |
|
754 $ hg push -r 71eb4f100663 file://$pwd/inhibit2 |
|
755 pushing to file://$TESTTMP/inhibit2 |
|
756 searching for changes |
|
757 adding changesets |
|
758 adding manifests |
|
759 adding file changes |
|
760 added 1 changesets with 1 changes to 1 files |
|
761 pushing 33 obsolescence markers (3284 bytes) |
|
762 2 obsolescence markers added |
|