62 > evolve = $TESTDIR/../hgext3rd/evolve/ |
63 > evolve = $TESTDIR/../hgext3rd/evolve/ |
63 > # enabling rebase is also needed for now |
64 > # enabling rebase is also needed for now |
64 > rebase = |
65 > rebase = |
65 > EOF |
66 > EOF |
66 |
67 |
|
68 #if docgraph-ext |
|
69 $ . "$TESTDIR/testlib/docgraph_setup.sh" #rest-ignore |
|
70 #endif |
|
71 |
67 ----------------------- |
72 ----------------------- |
68 Single Developer Usage |
73 Single Developer Usage |
69 ----------------------- |
74 ----------------------- |
70 |
75 |
71 This tutorial shows how to use evolution to rewrite history locally. |
76 This tutorial shows how to use evolution to rewrite history locally. |
122 | |
127 | |
123 o 4d5dc8187023 (draft): adding condiment |
128 o 4d5dc8187023 (draft): adding condiment |
124 | |
129 | |
125 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
130 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
126 |
131 |
|
132 #if docgraph-ext |
|
133 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
134 .. graphviz:: |
|
135 |
|
136 strict digraph { |
|
137 graph [rankdir=LR, |
|
138 splines=polyline |
|
139 ]; |
|
140 node [label="\N"]; |
|
141 0 [fillcolor="#9999FF", |
|
142 fixedsize=true, |
|
143 group=default, |
|
144 height=0.5, |
|
145 label=0, |
|
146 pin=true, |
|
147 pos="1,0!", |
|
148 shape=circle, |
|
149 style=filled, |
|
150 width=0.5]; |
|
151 1 [fillcolor="#9999FF", |
|
152 fixedsize=true, |
|
153 group=default, |
|
154 height=0.5, |
|
155 label=1, |
|
156 pin=true, |
|
157 pos="1,1!", |
|
158 shape=pentagon, |
|
159 style=filled, |
|
160 width=0.5]; |
|
161 0 -> 1 [arrowhead=none, |
|
162 penwidth=2.0]; |
|
163 2 [fillcolor="#9999FF", |
|
164 fixedsize=true, |
|
165 group=default, |
|
166 height=0.5, |
|
167 label=2, |
|
168 pin=true, |
|
169 pos="1,2!", |
|
170 shape=pentagon, |
|
171 style=filled, |
|
172 width=0.5]; |
|
173 1 -> 2 [arrowhead=none, |
|
174 penwidth=2.0]; |
|
175 } |
|
176 #endif |
127 |
177 |
128 But a typo was made in Babanas! |
178 But a typo was made in Babanas! |
129 |
179 |
130 $ hg export tip |
180 $ hg export tip |
131 # HG changeset patch |
181 # HG changeset patch |
156 o 4d5dc8187023 (draft): adding condiment |
206 o 4d5dc8187023 (draft): adding condiment |
157 | |
207 | |
158 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
208 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
159 |
209 |
160 |
210 |
161 hopefully. I can use `hg commit --amend` to rewrite my faulty changeset! |
211 #if docgraph-ext |
|
212 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
213 .. graphviz:: |
|
214 |
|
215 strict digraph { |
|
216 graph [rankdir=LR, |
|
217 splines=polyline |
|
218 ]; |
|
219 node [label="\N"]; |
|
220 0 [fillcolor="#9999FF", |
|
221 fixedsize=true, |
|
222 group=default, |
|
223 height=0.5, |
|
224 label=0, |
|
225 pin=true, |
|
226 pos="1,0!", |
|
227 shape=circle, |
|
228 style=filled, |
|
229 width=0.5]; |
|
230 1 [fillcolor="#9999FF", |
|
231 fixedsize=true, |
|
232 group=default, |
|
233 height=0.5, |
|
234 label=1, |
|
235 pin=true, |
|
236 pos="1,1!", |
|
237 shape=pentagon, |
|
238 style=filled, |
|
239 width=0.5]; |
|
240 0 -> 1 [arrowhead=none, |
|
241 penwidth=2.0]; |
|
242 2 [fillcolor="#9999FF", |
|
243 fixedsize=true, |
|
244 group=default, |
|
245 height=0.5, |
|
246 label=2, |
|
247 pin=true, |
|
248 pos="1,2!", |
|
249 shape=pentagon, |
|
250 style=filled, |
|
251 width=0.5]; |
|
252 1 -> 2 [arrowhead=none, |
|
253 penwidth=2.0]; |
|
254 } |
|
255 #endif |
|
256 |
|
257 Hopefully. I can use `hg commit --amend` to rewrite my faulty changeset! |
162 |
258 |
163 $ sed -i'' -e s/Bananos/Banana/ shopping |
259 $ sed -i'' -e s/Bananos/Banana/ shopping |
164 $ hg diff |
260 $ hg diff |
165 diff --git a/shopping b/shopping |
261 diff --git a/shopping b/shopping |
166 --- a/shopping |
262 --- a/shopping |
182 | |
278 | |
183 o 4d5dc8187023 (draft): adding condiment |
279 o 4d5dc8187023 (draft): adding condiment |
184 | |
280 | |
185 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
281 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
186 |
282 |
|
283 #if docgraph-ext |
|
284 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
285 .. graphviz:: |
|
286 |
|
287 strict digraph { |
|
288 graph [rankdir=LR, |
|
289 splines=polyline |
|
290 ]; |
|
291 node [label="\N"]; |
|
292 0 [fillcolor="#9999FF", |
|
293 fixedsize=true, |
|
294 group=default, |
|
295 height=0.5, |
|
296 label=0, |
|
297 pin=true, |
|
298 pos="1,0!", |
|
299 shape=circle, |
|
300 style=filled, |
|
301 width=0.5]; |
|
302 1 [fillcolor="#9999FF", |
|
303 fixedsize=true, |
|
304 group=default, |
|
305 height=0.5, |
|
306 label=1, |
|
307 pin=true, |
|
308 pos="1,1!", |
|
309 shape=pentagon, |
|
310 style=filled, |
|
311 width=0.5]; |
|
312 0 -> 1 [arrowhead=none, |
|
313 penwidth=2.0]; |
|
314 4 [fillcolor="#9999FF", |
|
315 fixedsize=true, |
|
316 group=default, |
|
317 height=0.5, |
|
318 label=4, |
|
319 pin=true, |
|
320 pos="1,4!", |
|
321 shape=pentagon, |
|
322 style=filled, |
|
323 width=0.5]; |
|
324 1 -> 4 [arrowhead=none, |
|
325 penwidth=2.0]; |
|
326 } |
|
327 #endif |
|
328 |
187 $ hg export tip |
329 $ hg export tip |
188 # HG changeset patch |
330 # HG changeset patch |
189 # User test |
331 # User test |
190 # Date 0 0 |
332 # Date 0 0 |
191 # Thu Jan 01 00:00:00 1970 +0000 |
333 # Thu Jan 01 00:00:00 1970 +0000 |
224 adding manifests |
366 adding manifests |
225 adding file changes |
367 adding file changes |
226 added 1 changesets with 1 changes to 1 files (+1 heads) |
368 added 1 changesets with 1 changes to 1 files (+1 heads) |
227 (run 'hg heads' to see heads, 'hg merge' to merge) |
369 (run 'hg heads' to see heads, 'hg merge' to merge) |
228 |
370 |
229 I now have a new heads. Note that this remote head is immutable |
371 I now have a new head. Note that this remote head is immutable. |
230 |
372 |
231 $ hg log -G |
373 $ hg log -G |
232 o 9ca060c80d74 (public): SPAM |
374 o 9ca060c80d74 (public): SPAM |
233 | |
375 | |
234 | @ 9d0363b81950 (draft): adding fruit |
376 | @ 9d0363b81950 (draft): adding fruit |
236 | o 4d5dc8187023 (draft): adding condiment |
378 | o 4d5dc8187023 (draft): adding condiment |
237 |/ |
379 |/ |
238 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
380 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
239 |
381 |
240 |
382 |
241 instead of merging my head with the new one. I'm going to rebase my work |
383 #if docgraph-ext |
|
384 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
385 .. graphviz:: |
|
386 |
|
387 strict digraph { |
|
388 graph [rankdir=LR, |
|
389 splines=polyline |
|
390 ]; |
|
391 node [label="\N"]; |
|
392 0 [fillcolor="#9999FF", |
|
393 fixedsize=true, |
|
394 group=default, |
|
395 height=0.5, |
|
396 label=0, |
|
397 pin=true, |
|
398 pos="1,0!", |
|
399 shape=circle, |
|
400 style=filled, |
|
401 width=0.5]; |
|
402 1 [fillcolor="#9999FF", |
|
403 fixedsize=true, |
|
404 group=default, |
|
405 height=0.5, |
|
406 label=1, |
|
407 pin=true, |
|
408 pos="1,1!", |
|
409 shape=pentagon, |
|
410 style=filled, |
|
411 width=0.5]; |
|
412 0 -> 1 [arrowhead=none, |
|
413 penwidth=2.0]; |
|
414 5 [fillcolor="#9999FF", |
|
415 fixedsize=true, |
|
416 group=default, |
|
417 height=0.5, |
|
418 label=5, |
|
419 pin=true, |
|
420 pos="1,5!", |
|
421 shape=circle, |
|
422 style=filled, |
|
423 width=0.5]; |
|
424 0 -> 5 [arrowhead=none, |
|
425 penwidth=2.0]; |
|
426 4 [fillcolor="#9999FF", |
|
427 fixedsize=true, |
|
428 group=default, |
|
429 height=0.5, |
|
430 label=4, |
|
431 pin=true, |
|
432 pos="1,4!", |
|
433 shape=pentagon, |
|
434 style=filled, |
|
435 width=0.5]; |
|
436 1 -> 4 [arrowhead=none, |
|
437 penwidth=2.0]; |
|
438 } |
|
439 #endif |
|
440 |
|
441 Instead of merging my head with the new one. I'm going to rebase my work |
242 |
442 |
243 $ hg diff |
443 $ hg diff |
244 $ hg rebase --dest 9ca060c80d74 --source 4d5dc8187023 |
444 $ hg rebase --dest 9ca060c80d74 --source 4d5dc8187023 |
245 rebasing 1:4d5dc8187023 "adding condiment" |
445 rebasing 1:4d5dc8187023 "adding condiment" |
246 merging shopping |
446 merging shopping |
257 | |
457 | |
258 o 9ca060c80d74 (public): SPAM |
458 o 9ca060c80d74 (public): SPAM |
259 | |
459 | |
260 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
460 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
261 |
461 |
|
462 #if docgraph-ext |
|
463 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
464 .. graphviz:: |
|
465 |
|
466 strict digraph { |
|
467 graph [rankdir=LR, |
|
468 splines=polyline |
|
469 ]; |
|
470 node [label="\N"]; |
|
471 0 [fillcolor="#9999FF", |
|
472 fixedsize=true, |
|
473 group=default, |
|
474 height=0.5, |
|
475 label=0, |
|
476 pin=true, |
|
477 pos="1,0!", |
|
478 shape=circle, |
|
479 style=filled, |
|
480 width=0.5]; |
|
481 5 [fillcolor="#9999FF", |
|
482 fixedsize=true, |
|
483 group=default, |
|
484 height=0.5, |
|
485 label=5, |
|
486 pin=true, |
|
487 pos="1,5!", |
|
488 shape=circle, |
|
489 style=filled, |
|
490 width=0.5]; |
|
491 0 -> 5 [arrowhead=none, |
|
492 penwidth=2.0]; |
|
493 6 [fillcolor="#9999FF", |
|
494 fixedsize=true, |
|
495 group=default, |
|
496 height=0.5, |
|
497 label=6, |
|
498 pin=true, |
|
499 pos="1,6!", |
|
500 shape=pentagon, |
|
501 style=filled, |
|
502 width=0.5]; |
|
503 5 -> 6 [arrowhead=none, |
|
504 penwidth=2.0]; |
|
505 7 [fillcolor="#9999FF", |
|
506 fixedsize=true, |
|
507 group=default, |
|
508 height=0.5, |
|
509 label=7, |
|
510 pin=true, |
|
511 pos="1,7!", |
|
512 shape=pentagon, |
|
513 style=filled, |
|
514 width=0.5]; |
|
515 6 -> 7 [arrowhead=none, |
|
516 penwidth=2.0]; |
|
517 } |
|
518 #endif |
262 |
519 |
263 Removing changesets |
520 Removing changesets |
264 ------------------------ |
521 ------------------------ |
265 |
522 |
266 I add new item to my list |
523 I add new items to my list. |
267 |
524 |
268 $ cat >> shopping << EOF |
525 $ cat >> shopping << EOF |
269 > car |
526 > car |
270 > bus |
527 > bus |
271 > plane |
528 > plane |
282 o 9ca060c80d74 (public): SPAM |
539 o 9ca060c80d74 (public): SPAM |
283 | |
540 | |
284 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
541 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
285 |
542 |
286 |
543 |
287 I have a new commit but I realize that don't want it. (transport shop list does |
544 I have a new commit but I realize that don't want it. (Transport shop list does |
288 not fit well in my standard shopping list) |
545 not fit well in my standard shopping list) |
289 |
546 |
290 $ hg prune . # "." is for working directory parent |
547 $ hg prune . # "." is for working directory parent |
291 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
548 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
292 working directory now at 41aff6a42b75 |
549 working directory now at 41aff6a42b75 |
301 | |
558 | |
302 o 9ca060c80d74 (public): SPAM |
559 o 9ca060c80d74 (public): SPAM |
303 | |
560 | |
304 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
561 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
305 |
562 |
|
563 |
|
564 #if docgraph-ext |
|
565 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
566 .. graphviz:: |
|
567 |
|
568 strict digraph { |
|
569 graph [rankdir=LR, |
|
570 splines=polyline |
|
571 ]; |
|
572 node [label="\N"]; |
|
573 0 [fillcolor="#9999FF", |
|
574 fixedsize=true, |
|
575 group=default, |
|
576 height=0.5, |
|
577 label=0, |
|
578 pin=true, |
|
579 pos="1,0!", |
|
580 shape=circle, |
|
581 style=filled, |
|
582 width=0.5]; |
|
583 5 [fillcolor="#9999FF", |
|
584 fixedsize=true, |
|
585 group=default, |
|
586 height=0.5, |
|
587 label=5, |
|
588 pin=true, |
|
589 pos="1,5!", |
|
590 shape=circle, |
|
591 style=filled, |
|
592 width=0.5]; |
|
593 0 -> 5 [arrowhead=none, |
|
594 penwidth=2.0]; |
|
595 6 [fillcolor="#9999FF", |
|
596 fixedsize=true, |
|
597 group=default, |
|
598 height=0.5, |
|
599 label=6, |
|
600 pin=true, |
|
601 pos="1,6!", |
|
602 shape=pentagon, |
|
603 style=filled, |
|
604 width=0.5]; |
|
605 5 -> 6 [arrowhead=none, |
|
606 penwidth=2.0]; |
|
607 7 [fillcolor="#9999FF", |
|
608 fixedsize=true, |
|
609 group=default, |
|
610 height=0.5, |
|
611 label=7, |
|
612 pin=true, |
|
613 pos="1,7!", |
|
614 shape=pentagon, |
|
615 style=filled, |
|
616 width=0.5]; |
|
617 6 -> 7 [arrowhead=none, |
|
618 penwidth=2.0]; |
|
619 } |
|
620 #endif |
306 |
621 |
307 Reordering changesets |
622 Reordering changesets |
308 ------------------------ |
623 ------------------------ |
309 |
624 |
310 |
625 |
363 | |
678 | |
364 o 9ca060c80d74 (public): SPAM |
679 o 9ca060c80d74 (public): SPAM |
365 | |
680 | |
366 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
681 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
367 |
682 |
|
683 |
|
684 #if docgraph-ext |
|
685 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
686 .. graphviz:: |
|
687 |
|
688 strict digraph { |
|
689 graph [rankdir=LR, |
|
690 splines=polyline |
|
691 ]; |
|
692 node [label="\N"]; |
|
693 0 [fillcolor="#9999FF", |
|
694 fixedsize=true, |
|
695 group=default, |
|
696 height=0.5, |
|
697 label=0, |
|
698 pin=true, |
|
699 pos="1,0!", |
|
700 shape=circle, |
|
701 style=filled, |
|
702 width=0.5]; |
|
703 5 [fillcolor="#9999FF", |
|
704 fixedsize=true, |
|
705 group=default, |
|
706 height=0.5, |
|
707 label=5, |
|
708 pin=true, |
|
709 pos="1,5!", |
|
710 shape=circle, |
|
711 style=filled, |
|
712 width=0.5]; |
|
713 0 -> 5 [arrowhead=none, |
|
714 penwidth=2.0]; |
|
715 6 [fillcolor="#9999FF", |
|
716 fixedsize=true, |
|
717 group=default, |
|
718 height=0.5, |
|
719 label=6, |
|
720 pin=true, |
|
721 pos="1,6!", |
|
722 shape=pentagon, |
|
723 style=filled, |
|
724 width=0.5]; |
|
725 5 -> 6 [arrowhead=none, |
|
726 penwidth=2.0]; |
|
727 7 [fillcolor="#9999FF", |
|
728 fixedsize=true, |
|
729 group=default, |
|
730 height=0.5, |
|
731 label=7, |
|
732 pin=true, |
|
733 pos="1,7!", |
|
734 shape=pentagon, |
|
735 style=filled, |
|
736 width=0.5]; |
|
737 6 -> 7 [arrowhead=none, |
|
738 penwidth=2.0]; |
|
739 9 [fillcolor="#9999FF", |
|
740 fixedsize=true, |
|
741 group=default, |
|
742 height=0.5, |
|
743 label=9, |
|
744 pin=true, |
|
745 pos="1,9!", |
|
746 shape=pentagon, |
|
747 style=filled, |
|
748 width=0.5]; |
|
749 7 -> 9 [arrowhead=none, |
|
750 penwidth=2.0]; |
|
751 11 [fillcolor="#9999FF", |
|
752 fixedsize=true, |
|
753 group=default, |
|
754 height=0.5, |
|
755 label=11, |
|
756 pin=true, |
|
757 pos="1,11!", |
|
758 shape=pentagon, |
|
759 style=filled, |
|
760 width=0.5]; |
|
761 7 -> 11 [arrowhead=none, |
|
762 penwidth=2.0]; |
|
763 } |
|
764 #endif |
368 |
765 |
369 We have a new SPAM SPAM version without the bathroom stuff |
766 We have a new SPAM SPAM version without the bathroom stuff |
370 |
767 |
371 $ grep Spam shopping # enough spam |
768 $ grep Spam shopping # enough spam |
372 Spam Spam Spam Spam Spam Spam Spam Spam Spam |
769 Spam Spam Spam Spam Spam Spam Spam Spam Spam |
426 o 9ca060c80d74 (public): SPAM |
823 o 9ca060c80d74 (public): SPAM |
427 | |
824 | |
428 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
825 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
429 |
826 |
430 |
827 |
431 |
828 #if docgraph-ext |
|
829 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
830 .. graphviz:: |
|
831 |
|
832 strict digraph { |
|
833 graph [rankdir=LR, |
|
834 splines=polyline |
|
835 ]; |
|
836 node [label="\N"]; |
|
837 0 [fillcolor="#9999FF", |
|
838 fixedsize=true, |
|
839 group=default, |
|
840 height=0.5, |
|
841 label=0, |
|
842 pin=true, |
|
843 pos="1,0!", |
|
844 shape=circle, |
|
845 style=filled, |
|
846 width=0.5]; |
|
847 5 [fillcolor="#9999FF", |
|
848 fixedsize=true, |
|
849 group=default, |
|
850 height=0.5, |
|
851 label=5, |
|
852 pin=true, |
|
853 pos="1,5!", |
|
854 shape=circle, |
|
855 style=filled, |
|
856 width=0.5]; |
|
857 0 -> 5 [arrowhead=none, |
|
858 penwidth=2.0]; |
|
859 6 [fillcolor="#9999FF", |
|
860 fixedsize=true, |
|
861 group=default, |
|
862 height=0.5, |
|
863 label=6, |
|
864 pin=true, |
|
865 pos="1,6!", |
|
866 shape=circle, |
|
867 style=filled, |
|
868 width=0.5]; |
|
869 5 -> 6 [arrowhead=none, |
|
870 penwidth=2.0]; |
|
871 7 [fillcolor="#9999FF", |
|
872 fixedsize=true, |
|
873 group=default, |
|
874 height=0.5, |
|
875 label=7, |
|
876 pin=true, |
|
877 pos="1,7!", |
|
878 shape=circle, |
|
879 style=filled, |
|
880 width=0.5]; |
|
881 6 -> 7 [arrowhead=none, |
|
882 penwidth=2.0]; |
|
883 11 [fillcolor="#9999FF", |
|
884 fixedsize=true, |
|
885 group=default, |
|
886 height=0.5, |
|
887 label=11, |
|
888 pin=true, |
|
889 pos="1,11!", |
|
890 shape=circle, |
|
891 style=filled, |
|
892 width=0.5]; |
|
893 7 -> 11 [arrowhead=none, |
|
894 penwidth=2.0]; |
|
895 12 [fillcolor="#9999FF", |
|
896 fixedsize=true, |
|
897 group=default, |
|
898 height=0.5, |
|
899 label=12, |
|
900 pin=true, |
|
901 pos="1,12!", |
|
902 shape=pentagon, |
|
903 style=filled, |
|
904 width=0.5]; |
|
905 11 -> 12 [arrowhead=none, |
|
906 penwidth=2.0]; |
|
907 } |
|
908 #endif |
432 |
909 |
433 Splitting change |
910 Splitting change |
434 ------------------ |
911 ------------------ |
435 |
912 |
436 This part is not written yet, but you can use either the `histedit` extension |
913 This part is not written yet, but you can use either the `histedit` extension |
511 ----------------------- |
988 ----------------------- |
512 Collaboration |
989 Collaboration |
513 ----------------------- |
990 ----------------------- |
514 |
991 |
515 |
992 |
516 sharing mutable changesets |
993 Sharing mutable changesets |
517 ---------------------------- |
994 ---------------------------- |
518 |
995 |
519 To share mutable changesets with others, just check that the repo you interact |
996 To share mutable changesets with others, just check that the repo you interact |
520 with is "not publishing". Otherwise you will get the previously observe |
997 with is "not publishing". Otherwise you will get the previously observe |
521 behavior where exchanged changeset are automatically published. |
998 behavior where exchanged changeset are automatically published. |
522 |
999 |
523 $ cd ../remote |
1000 $ cd ../remote |
524 $ hg -R ../local/ showconfig phases |
1001 $ hg -R ../local/ showconfig phases |
525 [1] |
1002 [1] |
526 |
1003 |
527 the localrepo does not have any specific configuration for `phases.publish`. It |
1004 The localrepo does not have any specific configuration for `phases.publish`. It |
528 is ``true`` by default. |
1005 is ``true`` by default. |
529 |
1006 |
530 $ hg pull local |
1007 $ hg pull local |
531 pulling from $TESTTMP/local (glob) |
1008 pulling from $TESTTMP/local (glob) |
532 searching for changes |
1009 searching for changes |
568 @ 9ca060c80d74 (public): SPAM |
1043 @ 9ca060c80d74 (public): SPAM |
569 | |
1044 | |
570 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1045 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
571 |
1046 |
572 |
1047 |
573 Let's make the local repo "non publishing" |
1048 Let's make the local repo "non publishing". |
574 |
1049 |
575 $ echo '[phases]' >> ../local/.hg/hgrc |
1050 $ echo '[phases]' >> ../local/.hg/hgrc |
576 $ echo 'publish=false' >> ../local/.hg/hgrc |
1051 $ echo 'publish=false' >> ../local/.hg/hgrc |
577 $ echo '[phases]' >> .hg/hgrc |
1052 $ echo '[phases]' >> .hg/hgrc |
578 $ echo 'publish=false' >> .hg/hgrc |
1053 $ echo 'publish=false' >> .hg/hgrc |
639 o 9ca060c80d74 (public): SPAM |
1114 o 9ca060c80d74 (public): SPAM |
640 | |
1115 | |
641 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1116 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
642 |
1117 |
643 |
1118 |
|
1119 #if docgraph-ext |
|
1120 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
1121 .. graphviz:: |
|
1122 |
|
1123 strict digraph { |
|
1124 graph [rankdir=LR, |
|
1125 splines=polyline |
|
1126 ]; |
|
1127 node [label="\N"]; |
|
1128 0 [fillcolor="#9999FF", |
|
1129 fixedsize=true, |
|
1130 group=default, |
|
1131 height=0.5, |
|
1132 label=0, |
|
1133 pin=true, |
|
1134 pos="1,0!", |
|
1135 shape=circle, |
|
1136 style=filled, |
|
1137 width=0.5]; |
|
1138 5 [fillcolor="#9999FF", |
|
1139 fixedsize=true, |
|
1140 group=default, |
|
1141 height=0.5, |
|
1142 label=5, |
|
1143 pin=true, |
|
1144 pos="1,5!", |
|
1145 shape=circle, |
|
1146 style=filled, |
|
1147 width=0.5]; |
|
1148 0 -> 5 [arrowhead=none, |
|
1149 penwidth=2.0]; |
|
1150 6 [fillcolor="#9999FF", |
|
1151 fixedsize=true, |
|
1152 group=default, |
|
1153 height=0.5, |
|
1154 label=6, |
|
1155 pin=true, |
|
1156 pos="1,6!", |
|
1157 shape=circle, |
|
1158 style=filled, |
|
1159 width=0.5]; |
|
1160 5 -> 6 [arrowhead=none, |
|
1161 penwidth=2.0]; |
|
1162 7 [fillcolor="#9999FF", |
|
1163 fixedsize=true, |
|
1164 group=default, |
|
1165 height=0.5, |
|
1166 label=7, |
|
1167 pin=true, |
|
1168 pos="1,7!", |
|
1169 shape=circle, |
|
1170 style=filled, |
|
1171 width=0.5]; |
|
1172 6 -> 7 [arrowhead=none, |
|
1173 penwidth=2.0]; |
|
1174 11 [fillcolor="#9999FF", |
|
1175 fixedsize=true, |
|
1176 group=default, |
|
1177 height=0.5, |
|
1178 label=11, |
|
1179 pin=true, |
|
1180 pos="1,11!", |
|
1181 shape=circle, |
|
1182 style=filled, |
|
1183 width=0.5]; |
|
1184 7 -> 11 [arrowhead=none, |
|
1185 penwidth=2.0]; |
|
1186 14 [fillcolor="#9999FF", |
|
1187 fixedsize=true, |
|
1188 group=default, |
|
1189 height=0.5, |
|
1190 label=14, |
|
1191 pin=true, |
|
1192 pos="1,14!", |
|
1193 shape=pentagon, |
|
1194 style=filled, |
|
1195 width=0.5]; |
|
1196 11 -> 14 [arrowhead=none, |
|
1197 penwidth=2.0]; |
|
1198 } |
|
1199 #endif |
644 |
1200 |
645 When we pull from remote again we get an unstable state! |
1201 When we pull from remote again we get an unstable state! |
646 |
1202 |
647 $ hg pull remote |
1203 $ hg pull remote |
648 pulling from $TESTTMP/remote (glob) |
1204 pulling from $TESTTMP/remote (glob) |
674 o 9ca060c80d74 (public): SPAM |
1230 o 9ca060c80d74 (public): SPAM |
675 | |
1231 | |
676 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1232 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
677 |
1233 |
678 |
1234 |
|
1235 #if docgraph-ext |
|
1236 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
1237 .. graphviz:: |
|
1238 |
|
1239 strict digraph { |
|
1240 graph [rankdir=LR, |
|
1241 splines=polyline |
|
1242 ]; |
|
1243 node [label="\N"]; |
|
1244 0 [fillcolor="#9999FF", |
|
1245 fixedsize=true, |
|
1246 group=default, |
|
1247 height=0.5, |
|
1248 label=0, |
|
1249 pin=true, |
|
1250 pos="1,0!", |
|
1251 shape=circle, |
|
1252 style=filled, |
|
1253 width=0.5]; |
|
1254 5 [fillcolor="#9999FF", |
|
1255 fixedsize=true, |
|
1256 group=default, |
|
1257 height=0.5, |
|
1258 label=5, |
|
1259 pin=true, |
|
1260 pos="1,5!", |
|
1261 shape=circle, |
|
1262 style=filled, |
|
1263 width=0.5]; |
|
1264 0 -> 5 [arrowhead=none, |
|
1265 penwidth=2.0]; |
|
1266 6 [fillcolor="#9999FF", |
|
1267 fixedsize=true, |
|
1268 group=default, |
|
1269 height=0.5, |
|
1270 label=6, |
|
1271 pin=true, |
|
1272 pos="1,6!", |
|
1273 shape=circle, |
|
1274 style=filled, |
|
1275 width=0.5]; |
|
1276 5 -> 6 [arrowhead=none, |
|
1277 penwidth=2.0]; |
|
1278 7 [fillcolor="#9999FF", |
|
1279 fixedsize=true, |
|
1280 group=default, |
|
1281 height=0.5, |
|
1282 label=7, |
|
1283 pin=true, |
|
1284 pos="1,7!", |
|
1285 shape=circle, |
|
1286 style=filled, |
|
1287 width=0.5]; |
|
1288 6 -> 7 [arrowhead=none, |
|
1289 penwidth=2.0]; |
|
1290 11 [fillcolor="#9999FF", |
|
1291 fixedsize=true, |
|
1292 group=default, |
|
1293 height=0.5, |
|
1294 label=11, |
|
1295 pin=true, |
|
1296 pos="1,11!", |
|
1297 shape=circle, |
|
1298 style=filled, |
|
1299 width=0.5]; |
|
1300 7 -> 11 [arrowhead=none, |
|
1301 penwidth=2.0]; |
|
1302 12 [fillcolor="#DFDFFF", |
|
1303 fixedsize=true, |
|
1304 group=default_alt, |
|
1305 height=0.5, |
|
1306 label=12, |
|
1307 pin=true, |
|
1308 pos="2,12!", |
|
1309 shape=pentagon, |
|
1310 style="dotted, filled", |
|
1311 width=0.5]; |
|
1312 11 -> 12 [arrowhead=none, |
|
1313 penwidth=2.0]; |
|
1314 14 [fillcolor="#9999FF", |
|
1315 fixedsize=true, |
|
1316 group=default, |
|
1317 height=0.5, |
|
1318 label=14, |
|
1319 pin=true, |
|
1320 pos="1,14!", |
|
1321 shape=pentagon, |
|
1322 style=filled, |
|
1323 width=0.5]; |
|
1324 11 -> 14 [arrowhead=none, |
|
1325 penwidth=2.0]; |
|
1326 12 -> 14 [arrowhead=none, |
|
1327 minlen=0, |
|
1328 penwidth=2.0, |
|
1329 style=dashed]; |
|
1330 15 [fillcolor="#FF4F4F", |
|
1331 fixedsize=true, |
|
1332 group=default_alt, |
|
1333 height=0.5, |
|
1334 label=15, |
|
1335 pin=true, |
|
1336 pos="2,15!", |
|
1337 shape=pentagon, |
|
1338 style=filled, |
|
1339 width=0.5]; |
|
1340 12 -> 15 [arrowhead=none, |
|
1341 penwidth=2.0]; |
|
1342 } |
|
1343 #endif |
|
1344 |
679 The older version 75954b8cd933 never ceased to exist in the local repo. It was |
1345 The older version 75954b8cd933 never ceased to exist in the local repo. It was |
680 just hidden and excluded from pull and push. |
1346 just hidden and excluded from pull and push. |
681 |
1347 |
682 .. note:: In hgview there is a nice dotted relation highlighting a44c85f957d3 as a new version of 75954b8cd933. this is not yet ported to ``hg log -G``. |
1348 .. note:: In hgview there is a nice dotted relation highlighting a44c85f957d3 as a new version of 75954b8cd933. this is not yet ported to ``hg log -G``. |
683 |
1349 |
690 abort: push includes unstable changeset: bf1b0d202029! |
1356 abort: push includes unstable changeset: bf1b0d202029! |
691 (use 'hg evolve' to get a stable history or --force to ignore warnings) |
1357 (use 'hg evolve' to get a stable history or --force to ignore warnings) |
692 [255] |
1358 [255] |
693 |
1359 |
694 |
1360 |
695 |
|
696 |
|
697 To resolve this unstable state, you need to rebase bf1b0d202029 onto |
1361 To resolve this unstable state, you need to rebase bf1b0d202029 onto |
698 a44c85f957d3. The `hg evolve` command will do this for you. |
1362 a44c85f957d3. The `hg evolve` command will do this for you. |
699 |
1363 |
700 It has a --dry-run option to only suggest the next move. |
1364 It has a --dry-run option to only suggest the next move. |
701 |
1365 |
728 o 9ca060c80d74 (public): SPAM |
1392 o 9ca060c80d74 (public): SPAM |
729 | |
1393 | |
730 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1394 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
731 |
1395 |
732 |
1396 |
733 |
1397 #if docgraph-ext |
734 We can push this evolution to remote |
1398 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
1399 .. graphviz:: |
|
1400 |
|
1401 strict digraph { |
|
1402 graph [rankdir=LR, |
|
1403 splines=polyline |
|
1404 ]; |
|
1405 node [label="\N"]; |
|
1406 0 [fillcolor="#9999FF", |
|
1407 fixedsize=true, |
|
1408 group=default, |
|
1409 height=0.5, |
|
1410 label=0, |
|
1411 pin=true, |
|
1412 pos="1,0!", |
|
1413 shape=circle, |
|
1414 style=filled, |
|
1415 width=0.5]; |
|
1416 5 [fillcolor="#9999FF", |
|
1417 fixedsize=true, |
|
1418 group=default, |
|
1419 height=0.5, |
|
1420 label=5, |
|
1421 pin=true, |
|
1422 pos="1,5!", |
|
1423 shape=circle, |
|
1424 style=filled, |
|
1425 width=0.5]; |
|
1426 0 -> 5 [arrowhead=none, |
|
1427 penwidth=2.0]; |
|
1428 6 [fillcolor="#9999FF", |
|
1429 fixedsize=true, |
|
1430 group=default, |
|
1431 height=0.5, |
|
1432 label=6, |
|
1433 pin=true, |
|
1434 pos="1,6!", |
|
1435 shape=circle, |
|
1436 style=filled, |
|
1437 width=0.5]; |
|
1438 5 -> 6 [arrowhead=none, |
|
1439 penwidth=2.0]; |
|
1440 7 [fillcolor="#9999FF", |
|
1441 fixedsize=true, |
|
1442 group=default, |
|
1443 height=0.5, |
|
1444 label=7, |
|
1445 pin=true, |
|
1446 pos="1,7!", |
|
1447 shape=circle, |
|
1448 style=filled, |
|
1449 width=0.5]; |
|
1450 6 -> 7 [arrowhead=none, |
|
1451 penwidth=2.0]; |
|
1452 11 [fillcolor="#9999FF", |
|
1453 fixedsize=true, |
|
1454 group=default, |
|
1455 height=0.5, |
|
1456 label=11, |
|
1457 pin=true, |
|
1458 pos="1,11!", |
|
1459 shape=circle, |
|
1460 style=filled, |
|
1461 width=0.5]; |
|
1462 7 -> 11 [arrowhead=none, |
|
1463 penwidth=2.0]; |
|
1464 14 [fillcolor="#9999FF", |
|
1465 fixedsize=true, |
|
1466 group=default, |
|
1467 height=0.5, |
|
1468 label=14, |
|
1469 pin=true, |
|
1470 pos="1,14!", |
|
1471 shape=pentagon, |
|
1472 style=filled, |
|
1473 width=0.5]; |
|
1474 11 -> 14 [arrowhead=none, |
|
1475 penwidth=2.0]; |
|
1476 16 [fillcolor="#9999FF", |
|
1477 fixedsize=true, |
|
1478 group=default, |
|
1479 height=0.5, |
|
1480 label=16, |
|
1481 pin=true, |
|
1482 pos="1,16!", |
|
1483 shape=pentagon, |
|
1484 style=filled, |
|
1485 width=0.5]; |
|
1486 14 -> 16 [arrowhead=none, |
|
1487 penwidth=2.0]; |
|
1488 } |
|
1489 #endif |
|
1490 |
|
1491 We can push this evolution to remote. |
735 |
1492 |
736 $ hg push remote |
1493 $ hg push remote |
737 pushing to $TESTTMP/remote (glob) |
1494 pushing to $TESTTMP/remote (glob) |
738 searching for changes |
1495 searching for changes |
739 adding changesets |
1496 adding changesets |
740 adding manifests |
1497 adding manifests |
741 adding file changes |
1498 adding file changes |
742 added 2 changesets with 2 changes to 1 files (+1 heads) |
1499 added 2 changesets with 2 changes to 1 files (+1 heads) |
743 3 new obsolescence markers |
1500 3 new obsolescence markers |
744 |
1501 |
745 remote get a warning that current working directory is based on an obsolete changeset |
1502 Remote get a warning that current working directory is based on an obsolete |
|
1503 changeset. |
746 |
1504 |
747 $ cd ../remote |
1505 $ cd ../remote |
748 $ hg pull local # we up again to trigger the warning. it was displayed during the push |
1506 $ hg pull local # we up again to trigger the warning. it was displayed during the push |
749 pulling from $TESTTMP/local (glob) |
1507 pulling from $TESTTMP/local (glob) |
750 searching for changes |
1508 searching for changes |
751 no changes found |
1509 no changes found |
752 working directory parent is obsolete! (bf1b0d202029) |
1510 working directory parent is obsolete! (bf1b0d202029) |
753 (use 'hg evolve' to update to its successor: ee942144f952) |
1511 (use 'hg evolve' to update to its successor: ee942144f952) |
754 |
1512 |
755 now let's see where we are, and update to the successor |
1513 Now let's see where we are, and update to the successor. |
756 |
1514 |
757 $ hg parents |
1515 $ hg parents |
758 bf1b0d202029 (draft): animals |
1516 bf1b0d202029 (draft): animals |
759 working directory parent is obsolete! (bf1b0d202029) |
1517 working directory parent is obsolete! (bf1b0d202029) |
760 (use 'hg evolve' to update to its successor: ee942144f952) |
1518 (use 'hg evolve' to update to its successor: ee942144f952) |
764 working directory is now at ee942144f952 |
1522 working directory is now at ee942144f952 |
765 |
1523 |
766 Relocating unstable change after prune |
1524 Relocating unstable change after prune |
767 ---------------------------------------------- |
1525 ---------------------------------------------- |
768 |
1526 |
769 The remote guy keep working |
1527 The remote guy keeps working. |
770 |
1528 |
771 $ sed -i'' -e 's/Spam/Spam Spam Spam Spam/g' shopping |
1529 $ sed -i'' -e 's/Spam/Spam Spam Spam Spam/g' shopping |
772 $ hg commit -m "SPAM SPAM SPAM" |
1530 $ hg commit -m "SPAM SPAM SPAM" |
773 |
1531 |
774 I'm pulling its work locally. |
1532 I'm pulling its work locally. |
798 o 9ca060c80d74 (public): SPAM |
1556 o 9ca060c80d74 (public): SPAM |
799 | |
1557 | |
800 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1558 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
801 |
1559 |
802 |
1560 |
|
1561 #if docgraph-ext |
|
1562 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
1563 .. graphviz:: |
|
1564 |
|
1565 strict digraph { |
|
1566 graph [rankdir=LR, |
|
1567 splines=polyline |
|
1568 ]; |
|
1569 node [label="\N"]; |
|
1570 0 [fillcolor="#9999FF", |
|
1571 fixedsize=true, |
|
1572 group=default, |
|
1573 height=0.5, |
|
1574 label=0, |
|
1575 pin=true, |
|
1576 pos="1,0!", |
|
1577 shape=circle, |
|
1578 style=filled, |
|
1579 width=0.5]; |
|
1580 5 [fillcolor="#9999FF", |
|
1581 fixedsize=true, |
|
1582 group=default, |
|
1583 height=0.5, |
|
1584 label=5, |
|
1585 pin=true, |
|
1586 pos="1,5!", |
|
1587 shape=circle, |
|
1588 style=filled, |
|
1589 width=0.5]; |
|
1590 0 -> 5 [arrowhead=none, |
|
1591 penwidth=2.0]; |
|
1592 6 [fillcolor="#9999FF", |
|
1593 fixedsize=true, |
|
1594 group=default, |
|
1595 height=0.5, |
|
1596 label=6, |
|
1597 pin=true, |
|
1598 pos="1,6!", |
|
1599 shape=circle, |
|
1600 style=filled, |
|
1601 width=0.5]; |
|
1602 5 -> 6 [arrowhead=none, |
|
1603 penwidth=2.0]; |
|
1604 7 [fillcolor="#9999FF", |
|
1605 fixedsize=true, |
|
1606 group=default, |
|
1607 height=0.5, |
|
1608 label=7, |
|
1609 pin=true, |
|
1610 pos="1,7!", |
|
1611 shape=circle, |
|
1612 style=filled, |
|
1613 width=0.5]; |
|
1614 6 -> 7 [arrowhead=none, |
|
1615 penwidth=2.0]; |
|
1616 11 [fillcolor="#9999FF", |
|
1617 fixedsize=true, |
|
1618 group=default, |
|
1619 height=0.5, |
|
1620 label=11, |
|
1621 pin=true, |
|
1622 pos="1,11!", |
|
1623 shape=circle, |
|
1624 style=filled, |
|
1625 width=0.5]; |
|
1626 7 -> 11 [arrowhead=none, |
|
1627 penwidth=2.0]; |
|
1628 14 [fillcolor="#9999FF", |
|
1629 fixedsize=true, |
|
1630 group=default, |
|
1631 height=0.5, |
|
1632 label=14, |
|
1633 pin=true, |
|
1634 pos="1,14!", |
|
1635 shape=pentagon, |
|
1636 style=filled, |
|
1637 width=0.5]; |
|
1638 11 -> 14 [arrowhead=none, |
|
1639 penwidth=2.0]; |
|
1640 16 [fillcolor="#9999FF", |
|
1641 fixedsize=true, |
|
1642 group=default, |
|
1643 height=0.5, |
|
1644 label=16, |
|
1645 pin=true, |
|
1646 pos="1,16!", |
|
1647 shape=pentagon, |
|
1648 style=filled, |
|
1649 width=0.5]; |
|
1650 14 -> 16 [arrowhead=none, |
|
1651 penwidth=2.0]; |
|
1652 17 [fillcolor="#9999FF", |
|
1653 fixedsize=true, |
|
1654 group=default, |
|
1655 height=0.5, |
|
1656 label=17, |
|
1657 pin=true, |
|
1658 pos="1,17!", |
|
1659 shape=pentagon, |
|
1660 style=filled, |
|
1661 width=0.5]; |
|
1662 16 -> 17 [arrowhead=none, |
|
1663 penwidth=2.0]; |
|
1664 } |
|
1665 #endif |
|
1666 |
803 In the mean time I noticed you can't buy animals in a super market and I prune the animal changeset: |
1667 In the mean time I noticed you can't buy animals in a super market and I prune the animal changeset: |
804 |
1668 |
805 $ hg prune ee942144f952 |
1669 $ hg prune ee942144f952 |
806 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
1670 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
807 working directory now at a44c85f957d3 |
1671 working directory now at a44c85f957d3 |
808 1 changesets pruned |
1672 1 changesets pruned |
809 1 new unstable changesets |
1673 1 new unstable changesets |
810 |
1674 |
811 |
1675 |
812 The animals changeset is still displayed because the "SPAM SPAM SPAM" changeset |
1676 The animals changeset is still displayed because the "SPAM SPAM SPAM" changeset |
813 is neither dead or obsolete. My repository is in an unstable state again. |
1677 is neither dead or obsolete. My repository is in an unstable state again. |
814 |
1678 |
815 $ hg log -G |
1679 $ hg log -G |
816 o 99f039c5ec9e (draft): SPAM SPAM SPAM |
1680 o 99f039c5ec9e (draft): SPAM SPAM SPAM |
817 | |
1681 | |
818 x ee942144f952 (draft): animals |
1682 x ee942144f952 (draft): animals |
828 o 9ca060c80d74 (public): SPAM |
1692 o 9ca060c80d74 (public): SPAM |
829 | |
1693 | |
830 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1694 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
831 |
1695 |
832 |
1696 |
833 $ hg log -r 'unstable()' |
1697 #if docgraph-ext |
|
1698 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
1699 .. graphviz:: |
|
1700 |
|
1701 strict digraph { |
|
1702 graph [rankdir=LR, |
|
1703 splines=polyline |
|
1704 ]; |
|
1705 node [label="\N"]; |
|
1706 0 [fillcolor="#9999FF", |
|
1707 fixedsize=true, |
|
1708 group=default, |
|
1709 height=0.5, |
|
1710 label=0, |
|
1711 pin=true, |
|
1712 pos="1,0!", |
|
1713 shape=circle, |
|
1714 style=filled, |
|
1715 width=0.5]; |
|
1716 5 [fillcolor="#9999FF", |
|
1717 fixedsize=true, |
|
1718 group=default, |
|
1719 height=0.5, |
|
1720 label=5, |
|
1721 pin=true, |
|
1722 pos="1,5!", |
|
1723 shape=circle, |
|
1724 style=filled, |
|
1725 width=0.5]; |
|
1726 0 -> 5 [arrowhead=none, |
|
1727 penwidth=2.0]; |
|
1728 6 [fillcolor="#9999FF", |
|
1729 fixedsize=true, |
|
1730 group=default, |
|
1731 height=0.5, |
|
1732 label=6, |
|
1733 pin=true, |
|
1734 pos="1,6!", |
|
1735 shape=circle, |
|
1736 style=filled, |
|
1737 width=0.5]; |
|
1738 5 -> 6 [arrowhead=none, |
|
1739 penwidth=2.0]; |
|
1740 7 [fillcolor="#9999FF", |
|
1741 fixedsize=true, |
|
1742 group=default, |
|
1743 height=0.5, |
|
1744 label=7, |
|
1745 pin=true, |
|
1746 pos="1,7!", |
|
1747 shape=circle, |
|
1748 style=filled, |
|
1749 width=0.5]; |
|
1750 6 -> 7 [arrowhead=none, |
|
1751 penwidth=2.0]; |
|
1752 11 [fillcolor="#9999FF", |
|
1753 fixedsize=true, |
|
1754 group=default, |
|
1755 height=0.5, |
|
1756 label=11, |
|
1757 pin=true, |
|
1758 pos="1,11!", |
|
1759 shape=circle, |
|
1760 style=filled, |
|
1761 width=0.5]; |
|
1762 7 -> 11 [arrowhead=none, |
|
1763 penwidth=2.0]; |
|
1764 14 [fillcolor="#9999FF", |
|
1765 fixedsize=true, |
|
1766 group=default, |
|
1767 height=0.5, |
|
1768 label=14, |
|
1769 pin=true, |
|
1770 pos="1,14!", |
|
1771 shape=pentagon, |
|
1772 style=filled, |
|
1773 width=0.5]; |
|
1774 11 -> 14 [arrowhead=none, |
|
1775 penwidth=2.0]; |
|
1776 16 [fillcolor="#DFDFFF", |
|
1777 fixedsize=true, |
|
1778 group=default_alt, |
|
1779 height=0.5, |
|
1780 label=16, |
|
1781 pin=true, |
|
1782 pos="2,16!", |
|
1783 shape=pentagon, |
|
1784 style="dotted, filled", |
|
1785 width=0.5]; |
|
1786 14 -> 16 [arrowhead=none, |
|
1787 penwidth=2.0]; |
|
1788 17 [fillcolor="#FF4F4F", |
|
1789 fixedsize=true, |
|
1790 group=default_alt, |
|
1791 height=0.5, |
|
1792 label=17, |
|
1793 pin=true, |
|
1794 pos="2,17!", |
|
1795 shape=pentagon, |
|
1796 style=filled, |
|
1797 width=0.5]; |
|
1798 16 -> 17 [arrowhead=none, |
|
1799 penwidth=2.0]; |
|
1800 } |
|
1801 #endif |
|
1802 |
|
1803 $ hg log -r "unstable()" |
834 99f039c5ec9e (draft): SPAM SPAM SPAM |
1804 99f039c5ec9e (draft): SPAM SPAM SPAM |
|
1805 |
|
1806 #if docgraph-ext |
|
1807 $ hg docgraph -r "unstable()" --sphinx-directive --rankdir LR #rest-ignore |
|
1808 .. graphviz:: |
|
1809 |
|
1810 strict digraph { |
|
1811 graph [rankdir=LR, |
|
1812 splines=polyline |
|
1813 ]; |
|
1814 node [label="\N"]; |
|
1815 17 [fillcolor="#FF4F4F", |
|
1816 fixedsize=true, |
|
1817 group=default_alt, |
|
1818 height=0.5, |
|
1819 label=17, |
|
1820 pin=true, |
|
1821 pos="1,17!", |
|
1822 shape=pentagon, |
|
1823 style=filled, |
|
1824 width=0.5]; |
|
1825 } |
|
1826 #endif |
835 |
1827 |
836 $ hg evolve |
1828 $ hg evolve |
837 move:[17] SPAM SPAM SPAM |
1829 move:[17] SPAM SPAM SPAM |
838 atop:[14] bathroom stuff |
1830 atop:[14] bathroom stuff |
839 merging shopping |
1831 merging shopping |
853 o 9ca060c80d74 (public): SPAM |
1845 o 9ca060c80d74 (public): SPAM |
854 | |
1846 | |
855 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1847 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
856 |
1848 |
857 |
1849 |
|
1850 #if docgraph-ext |
|
1851 $ hg docgraph -r "all()" --sphinx-directive --rankdir LR #rest-ignore |
|
1852 .. graphviz:: |
|
1853 |
|
1854 strict digraph { |
|
1855 graph [rankdir=LR, |
|
1856 splines=polyline |
|
1857 ]; |
|
1858 node [label="\N"]; |
|
1859 0 [fillcolor="#9999FF", |
|
1860 fixedsize=true, |
|
1861 group=default, |
|
1862 height=0.5, |
|
1863 label=0, |
|
1864 pin=true, |
|
1865 pos="1,0!", |
|
1866 shape=circle, |
|
1867 style=filled, |
|
1868 width=0.5]; |
|
1869 5 [fillcolor="#9999FF", |
|
1870 fixedsize=true, |
|
1871 group=default, |
|
1872 height=0.5, |
|
1873 label=5, |
|
1874 pin=true, |
|
1875 pos="1,5!", |
|
1876 shape=circle, |
|
1877 style=filled, |
|
1878 width=0.5]; |
|
1879 0 -> 5 [arrowhead=none, |
|
1880 penwidth=2.0]; |
|
1881 6 [fillcolor="#9999FF", |
|
1882 fixedsize=true, |
|
1883 group=default, |
|
1884 height=0.5, |
|
1885 label=6, |
|
1886 pin=true, |
|
1887 pos="1,6!", |
|
1888 shape=circle, |
|
1889 style=filled, |
|
1890 width=0.5]; |
|
1891 5 -> 6 [arrowhead=none, |
|
1892 penwidth=2.0]; |
|
1893 7 [fillcolor="#9999FF", |
|
1894 fixedsize=true, |
|
1895 group=default, |
|
1896 height=0.5, |
|
1897 label=7, |
|
1898 pin=true, |
|
1899 pos="1,7!", |
|
1900 shape=circle, |
|
1901 style=filled, |
|
1902 width=0.5]; |
|
1903 6 -> 7 [arrowhead=none, |
|
1904 penwidth=2.0]; |
|
1905 11 [fillcolor="#9999FF", |
|
1906 fixedsize=true, |
|
1907 group=default, |
|
1908 height=0.5, |
|
1909 label=11, |
|
1910 pin=true, |
|
1911 pos="1,11!", |
|
1912 shape=circle, |
|
1913 style=filled, |
|
1914 width=0.5]; |
|
1915 7 -> 11 [arrowhead=none, |
|
1916 penwidth=2.0]; |
|
1917 14 [fillcolor="#9999FF", |
|
1918 fixedsize=true, |
|
1919 group=default, |
|
1920 height=0.5, |
|
1921 label=14, |
|
1922 pin=true, |
|
1923 pos="1,14!", |
|
1924 shape=pentagon, |
|
1925 style=filled, |
|
1926 width=0.5]; |
|
1927 11 -> 14 [arrowhead=none, |
|
1928 penwidth=2.0]; |
|
1929 18 [fillcolor="#9999FF", |
|
1930 fixedsize=true, |
|
1931 group=default, |
|
1932 height=0.5, |
|
1933 label=18, |
|
1934 pin=true, |
|
1935 pos="1,18!", |
|
1936 shape=pentagon, |
|
1937 style=filled, |
|
1938 width=0.5]; |
|
1939 14 -> 18 [arrowhead=none, |
|
1940 penwidth=2.0]; |
|
1941 } |
|
1942 #endif |
858 |
1943 |
859 Handling Divergent amend |
1944 Handling Divergent amend |
860 ---------------------------------------------- |
1945 ---------------------------------------------- |
861 |
1946 |
862 We can detect that multiple diverging amendments have been made. |
1947 We can detect that multiple diverging amendments have been made. |