63 > evolve = $TESTDIR/../hgext3rd/evolve/ |
63 > evolve = $TESTDIR/../hgext3rd/evolve/ |
64 > # enabling rebase is also needed for now |
64 > # enabling rebase is also needed for now |
65 > rebase = |
65 > rebase = |
66 > EOF |
66 > EOF |
67 |
67 |
|
68 $ . "$TESTDIR/testlib/graphviz_setup.sh" #ignore |
|
69 |
68 ----------------------- |
70 ----------------------- |
69 Single Developer Usage |
71 Single Developer Usage |
70 ----------------------- |
72 ----------------------- |
71 |
73 |
72 This tutorial shows how to use evolution to rewrite history locally. |
74 This tutorial shows how to use evolution to rewrite history locally. |
123 | |
125 | |
124 o 4d5dc8187023 (draft): adding condiment |
126 o 4d5dc8187023 (draft): adding condiment |
125 | |
127 | |
126 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
128 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
127 |
129 |
|
130 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
131 .. graphviz:: |
|
132 |
|
133 strict digraph { |
|
134 graph [rankdir=LR, |
|
135 splines=polyline |
|
136 ]; |
|
137 node [label="\N"]; |
|
138 0 [fillcolor="#7F7FFF", |
|
139 fixedsize=true, |
|
140 group=default, |
|
141 height=2, |
|
142 label="0: 7e82d3f3c2cb", |
|
143 pin=true, |
|
144 pos="1,0!", |
|
145 shape=circle, |
|
146 style=filled, |
|
147 width=2]; |
|
148 1 [fillcolor="#7F7FFF", |
|
149 fixedsize=true, |
|
150 group=default, |
|
151 height=2, |
|
152 label="1: 4d5dc8187023", |
|
153 pin=true, |
|
154 pos="1,1!", |
|
155 shape=pentagon, |
|
156 style=filled, |
|
157 width=2]; |
|
158 0 -> 1; |
|
159 2 [fillcolor="#7F7FFF", |
|
160 fixedsize=true, |
|
161 group=default, |
|
162 height=2, |
|
163 label="2: d85de4546133", |
|
164 pin=true, |
|
165 pos="1,2!", |
|
166 shape=pentagon, |
|
167 style=filled, |
|
168 width=2]; |
|
169 1 -> 2; |
|
170 } |
128 |
171 |
129 But a typo was made in Babanas! |
172 But a typo was made in Babanas! |
130 |
173 |
131 $ hg export tip |
174 $ hg export tip |
132 # HG changeset patch |
175 # HG changeset patch |
156 | |
199 | |
157 o 4d5dc8187023 (draft): adding condiment |
200 o 4d5dc8187023 (draft): adding condiment |
158 | |
201 | |
159 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
202 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
160 |
203 |
|
204 |
|
205 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
206 .. graphviz:: |
|
207 |
|
208 strict digraph { |
|
209 graph [rankdir=LR, |
|
210 splines=polyline |
|
211 ]; |
|
212 node [label="\N"]; |
|
213 0 [fillcolor="#7F7FFF", |
|
214 fixedsize=true, |
|
215 group=default, |
|
216 height=2, |
|
217 label="0: 7e82d3f3c2cb", |
|
218 pin=true, |
|
219 pos="1,0!", |
|
220 shape=circle, |
|
221 style=filled, |
|
222 width=2]; |
|
223 1 [fillcolor="#7F7FFF", |
|
224 fixedsize=true, |
|
225 group=default, |
|
226 height=2, |
|
227 label="1: 4d5dc8187023", |
|
228 pin=true, |
|
229 pos="1,1!", |
|
230 shape=pentagon, |
|
231 style=filled, |
|
232 width=2]; |
|
233 0 -> 1; |
|
234 2 [fillcolor="#7F7FFF", |
|
235 fixedsize=true, |
|
236 group=default, |
|
237 height=2, |
|
238 label="2: d85de4546133", |
|
239 pin=true, |
|
240 pos="1,2!", |
|
241 shape=pentagon, |
|
242 style=filled, |
|
243 width=2]; |
|
244 1 -> 2; |
|
245 } |
161 |
246 |
162 Hopefully. I can use `hg commit --amend` to rewrite my faulty changeset! |
247 Hopefully. I can use `hg commit --amend` to rewrite my faulty changeset! |
163 |
248 |
164 $ sed -i'' -e s/Bananos/Banana/ shopping |
249 $ sed -i'' -e s/Bananos/Banana/ shopping |
165 $ hg diff |
250 $ hg diff |
183 | |
268 | |
184 o 4d5dc8187023 (draft): adding condiment |
269 o 4d5dc8187023 (draft): adding condiment |
185 | |
270 | |
186 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
271 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
187 |
272 |
|
273 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
274 .. graphviz:: |
|
275 |
|
276 strict digraph { |
|
277 graph [rankdir=LR, |
|
278 splines=polyline |
|
279 ]; |
|
280 node [label="\N"]; |
|
281 0 [fillcolor="#7F7FFF", |
|
282 fixedsize=true, |
|
283 group=default, |
|
284 height=2, |
|
285 label="0: 7e82d3f3c2cb", |
|
286 pin=true, |
|
287 pos="1,0!", |
|
288 shape=circle, |
|
289 style=filled, |
|
290 width=2]; |
|
291 1 [fillcolor="#7F7FFF", |
|
292 fixedsize=true, |
|
293 group=default, |
|
294 height=2, |
|
295 label="1: 4d5dc8187023", |
|
296 pin=true, |
|
297 pos="1,1!", |
|
298 shape=pentagon, |
|
299 style=filled, |
|
300 width=2]; |
|
301 0 -> 1; |
|
302 4 [fillcolor="#7F7FFF", |
|
303 fixedsize=true, |
|
304 group=default, |
|
305 height=2, |
|
306 label="4: 9d0363b81950", |
|
307 pin=true, |
|
308 pos="1,4!", |
|
309 shape=pentagon, |
|
310 style=filled, |
|
311 width=2]; |
|
312 1 -> 4; |
|
313 } |
|
314 |
188 $ hg export tip |
315 $ hg export tip |
189 # HG changeset patch |
316 # HG changeset patch |
190 # User test |
317 # User test |
191 # Date 0 0 |
318 # Date 0 0 |
192 # Thu Jan 01 00:00:00 1970 +0000 |
319 # Thu Jan 01 00:00:00 1970 +0000 |
237 | o 4d5dc8187023 (draft): adding condiment |
364 | o 4d5dc8187023 (draft): adding condiment |
238 |/ |
365 |/ |
239 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
366 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
240 |
367 |
241 |
368 |
|
369 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
370 .. graphviz:: |
|
371 |
|
372 strict digraph { |
|
373 graph [rankdir=LR, |
|
374 splines=polyline |
|
375 ]; |
|
376 node [label="\N"]; |
|
377 0 [fillcolor="#7F7FFF", |
|
378 fixedsize=true, |
|
379 group=default, |
|
380 height=2, |
|
381 label="0: 7e82d3f3c2cb", |
|
382 pin=true, |
|
383 pos="1,0!", |
|
384 shape=circle, |
|
385 style=filled, |
|
386 width=2]; |
|
387 1 [fillcolor="#7F7FFF", |
|
388 fixedsize=true, |
|
389 group=default, |
|
390 height=2, |
|
391 label="1: 4d5dc8187023", |
|
392 pin=true, |
|
393 pos="1,1!", |
|
394 shape=pentagon, |
|
395 style=filled, |
|
396 width=2]; |
|
397 0 -> 1; |
|
398 5 [fillcolor="#7F7FFF", |
|
399 fixedsize=true, |
|
400 group=default, |
|
401 height=2, |
|
402 label="5: 9ca060c80d74", |
|
403 pin=true, |
|
404 pos="1,5!", |
|
405 shape=circle, |
|
406 style=filled, |
|
407 width=2]; |
|
408 0 -> 5; |
|
409 4 [fillcolor="#7F7FFF", |
|
410 fixedsize=true, |
|
411 group=default, |
|
412 height=2, |
|
413 label="4: 9d0363b81950", |
|
414 pin=true, |
|
415 pos="1,4!", |
|
416 shape=pentagon, |
|
417 style=filled, |
|
418 width=2]; |
|
419 1 -> 4; |
|
420 } |
|
421 |
242 Instead of merging my head with the new one. I'm going to rebase my work |
422 Instead of merging my head with the new one. I'm going to rebase my work |
243 |
423 |
244 $ hg diff |
424 $ hg diff |
245 $ hg rebase --dest 9ca060c80d74 --source 4d5dc8187023 |
425 $ hg rebase --dest 9ca060c80d74 --source 4d5dc8187023 |
246 rebasing 1:4d5dc8187023 "adding condiment" |
426 rebasing 1:4d5dc8187023 "adding condiment" |
258 | |
438 | |
259 o 9ca060c80d74 (public): SPAM |
439 o 9ca060c80d74 (public): SPAM |
260 | |
440 | |
261 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
441 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
262 |
442 |
|
443 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
444 .. graphviz:: |
|
445 |
|
446 strict digraph { |
|
447 graph [rankdir=LR, |
|
448 splines=polyline |
|
449 ]; |
|
450 node [label="\N"]; |
|
451 0 [fillcolor="#7F7FFF", |
|
452 fixedsize=true, |
|
453 group=default, |
|
454 height=2, |
|
455 label="0: 7e82d3f3c2cb", |
|
456 pin=true, |
|
457 pos="1,0!", |
|
458 shape=circle, |
|
459 style=filled, |
|
460 width=2]; |
|
461 5 [fillcolor="#7F7FFF", |
|
462 fixedsize=true, |
|
463 group=default, |
|
464 height=2, |
|
465 label="5: 9ca060c80d74", |
|
466 pin=true, |
|
467 pos="1,5!", |
|
468 shape=circle, |
|
469 style=filled, |
|
470 width=2]; |
|
471 0 -> 5; |
|
472 6 [fillcolor="#7F7FFF", |
|
473 fixedsize=true, |
|
474 group=default, |
|
475 height=2, |
|
476 label="6: dfd3a2d7691e", |
|
477 pin=true, |
|
478 pos="1,6!", |
|
479 shape=pentagon, |
|
480 style=filled, |
|
481 width=2]; |
|
482 5 -> 6; |
|
483 7 [fillcolor="#7F7FFF", |
|
484 fixedsize=true, |
|
485 group=default, |
|
486 height=2, |
|
487 label="7: 41aff6a42b75", |
|
488 pin=true, |
|
489 pos="1,7!", |
|
490 shape=pentagon, |
|
491 style=filled, |
|
492 width=2]; |
|
493 6 -> 7; |
|
494 } |
263 |
495 |
264 Removing changesets |
496 Removing changesets |
265 ------------------------ |
497 ------------------------ |
266 |
498 |
267 I add new items to my list. |
499 I add new items to my list. |
303 o 9ca060c80d74 (public): SPAM |
535 o 9ca060c80d74 (public): SPAM |
304 | |
536 | |
305 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
537 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
306 |
538 |
307 |
539 |
|
540 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
541 .. graphviz:: |
|
542 |
|
543 strict digraph { |
|
544 graph [rankdir=LR, |
|
545 splines=polyline |
|
546 ]; |
|
547 node [label="\N"]; |
|
548 0 [fillcolor="#7F7FFF", |
|
549 fixedsize=true, |
|
550 group=default, |
|
551 height=2, |
|
552 label="0: 7e82d3f3c2cb", |
|
553 pin=true, |
|
554 pos="1,0!", |
|
555 shape=circle, |
|
556 style=filled, |
|
557 width=2]; |
|
558 5 [fillcolor="#7F7FFF", |
|
559 fixedsize=true, |
|
560 group=default, |
|
561 height=2, |
|
562 label="5: 9ca060c80d74", |
|
563 pin=true, |
|
564 pos="1,5!", |
|
565 shape=circle, |
|
566 style=filled, |
|
567 width=2]; |
|
568 0 -> 5; |
|
569 6 [fillcolor="#7F7FFF", |
|
570 fixedsize=true, |
|
571 group=default, |
|
572 height=2, |
|
573 label="6: dfd3a2d7691e", |
|
574 pin=true, |
|
575 pos="1,6!", |
|
576 shape=pentagon, |
|
577 style=filled, |
|
578 width=2]; |
|
579 5 -> 6; |
|
580 7 [fillcolor="#7F7FFF", |
|
581 fixedsize=true, |
|
582 group=default, |
|
583 height=2, |
|
584 label="7: 41aff6a42b75", |
|
585 pin=true, |
|
586 pos="1,7!", |
|
587 shape=pentagon, |
|
588 style=filled, |
|
589 width=2]; |
|
590 6 -> 7; |
|
591 } |
|
592 |
308 Reordering changesets |
593 Reordering changesets |
309 ------------------------ |
594 ------------------------ |
310 |
595 |
311 |
596 |
312 We create two changesets. |
597 We create two changesets. |
364 | |
649 | |
365 o 9ca060c80d74 (public): SPAM |
650 o 9ca060c80d74 (public): SPAM |
366 | |
651 | |
367 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
652 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
368 |
653 |
|
654 |
|
655 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
656 .. graphviz:: |
|
657 |
|
658 strict digraph { |
|
659 graph [rankdir=LR, |
|
660 splines=polyline |
|
661 ]; |
|
662 node [label="\N"]; |
|
663 0 [fillcolor="#7F7FFF", |
|
664 fixedsize=true, |
|
665 group=default, |
|
666 height=2, |
|
667 label="0: 7e82d3f3c2cb", |
|
668 pin=true, |
|
669 pos="1,0!", |
|
670 shape=circle, |
|
671 style=filled, |
|
672 width=2]; |
|
673 5 [fillcolor="#7F7FFF", |
|
674 fixedsize=true, |
|
675 group=default, |
|
676 height=2, |
|
677 label="5: 9ca060c80d74", |
|
678 pin=true, |
|
679 pos="1,5!", |
|
680 shape=circle, |
|
681 style=filled, |
|
682 width=2]; |
|
683 0 -> 5; |
|
684 6 [fillcolor="#7F7FFF", |
|
685 fixedsize=true, |
|
686 group=default, |
|
687 height=2, |
|
688 label="6: dfd3a2d7691e", |
|
689 pin=true, |
|
690 pos="1,6!", |
|
691 shape=pentagon, |
|
692 style=filled, |
|
693 width=2]; |
|
694 5 -> 6; |
|
695 7 [fillcolor="#7F7FFF", |
|
696 fixedsize=true, |
|
697 group=default, |
|
698 height=2, |
|
699 label="7: 41aff6a42b75", |
|
700 pin=true, |
|
701 pos="1,7!", |
|
702 shape=pentagon, |
|
703 style=filled, |
|
704 width=2]; |
|
705 6 -> 7; |
|
706 9 [fillcolor="#7F7FFF", |
|
707 fixedsize=true, |
|
708 group=default, |
|
709 height=2, |
|
710 label="9: 10b8aeaa8cc8", |
|
711 pin=true, |
|
712 pos="1,9!", |
|
713 shape=pentagon, |
|
714 style=filled, |
|
715 width=2]; |
|
716 7 -> 9; |
|
717 11 [fillcolor="#7F7FFF", |
|
718 fixedsize=true, |
|
719 group=default, |
|
720 height=2, |
|
721 label="11: a224f2a4fb9f", |
|
722 pin=true, |
|
723 pos="1,11!", |
|
724 shape=pentagon, |
|
725 style=filled, |
|
726 width=2]; |
|
727 7 -> 11; |
|
728 } |
369 |
729 |
370 We have a new SPAM SPAM version without the bathroom stuff |
730 We have a new SPAM SPAM version without the bathroom stuff |
371 |
731 |
372 $ grep Spam shopping # enough spam |
732 $ grep Spam shopping # enough spam |
373 Spam Spam Spam Spam Spam Spam Spam Spam Spam |
733 Spam Spam Spam Spam Spam Spam Spam Spam Spam |
427 o 9ca060c80d74 (public): SPAM |
787 o 9ca060c80d74 (public): SPAM |
428 | |
788 | |
429 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
789 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
430 |
790 |
431 |
791 |
432 |
792 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
793 .. graphviz:: |
|
794 |
|
795 strict digraph { |
|
796 graph [rankdir=LR, |
|
797 splines=polyline |
|
798 ]; |
|
799 node [label="\N"]; |
|
800 0 [fillcolor="#7F7FFF", |
|
801 fixedsize=true, |
|
802 group=default, |
|
803 height=2, |
|
804 label="0: 7e82d3f3c2cb", |
|
805 pin=true, |
|
806 pos="1,0!", |
|
807 shape=circle, |
|
808 style=filled, |
|
809 width=2]; |
|
810 5 [fillcolor="#7F7FFF", |
|
811 fixedsize=true, |
|
812 group=default, |
|
813 height=2, |
|
814 label="5: 9ca060c80d74", |
|
815 pin=true, |
|
816 pos="1,5!", |
|
817 shape=circle, |
|
818 style=filled, |
|
819 width=2]; |
|
820 0 -> 5; |
|
821 6 [fillcolor="#7F7FFF", |
|
822 fixedsize=true, |
|
823 group=default, |
|
824 height=2, |
|
825 label="6: dfd3a2d7691e", |
|
826 pin=true, |
|
827 pos="1,6!", |
|
828 shape=circle, |
|
829 style=filled, |
|
830 width=2]; |
|
831 5 -> 6; |
|
832 7 [fillcolor="#7F7FFF", |
|
833 fixedsize=true, |
|
834 group=default, |
|
835 height=2, |
|
836 label="7: 41aff6a42b75", |
|
837 pin=true, |
|
838 pos="1,7!", |
|
839 shape=circle, |
|
840 style=filled, |
|
841 width=2]; |
|
842 6 -> 7; |
|
843 11 [fillcolor="#7F7FFF", |
|
844 fixedsize=true, |
|
845 group=default, |
|
846 height=2, |
|
847 label="11: a224f2a4fb9f", |
|
848 pin=true, |
|
849 pos="1,11!", |
|
850 shape=circle, |
|
851 style=filled, |
|
852 width=2]; |
|
853 7 -> 11; |
|
854 12 [fillcolor="#7F7FFF", |
|
855 fixedsize=true, |
|
856 group=default, |
|
857 height=2, |
|
858 label="12: 75954b8cd933", |
|
859 pin=true, |
|
860 pos="1,12!", |
|
861 shape=pentagon, |
|
862 style=filled, |
|
863 width=2]; |
|
864 11 -> 12; |
|
865 } |
433 |
866 |
434 Splitting change |
867 Splitting change |
435 ------------------ |
868 ------------------ |
436 |
869 |
437 This part is not written yet, but you can use either the `histedit` extension |
870 This part is not written yet, but you can use either the `histedit` extension |
638 o 9ca060c80d74 (public): SPAM |
1071 o 9ca060c80d74 (public): SPAM |
639 | |
1072 | |
640 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1073 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
641 |
1074 |
642 |
1075 |
|
1076 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
1077 .. graphviz:: |
|
1078 |
|
1079 strict digraph { |
|
1080 graph [rankdir=LR, |
|
1081 splines=polyline |
|
1082 ]; |
|
1083 node [label="\N"]; |
|
1084 0 [fillcolor="#7F7FFF", |
|
1085 fixedsize=true, |
|
1086 group=default, |
|
1087 height=2, |
|
1088 label="0: 7e82d3f3c2cb", |
|
1089 pin=true, |
|
1090 pos="1,0!", |
|
1091 shape=circle, |
|
1092 style=filled, |
|
1093 width=2]; |
|
1094 5 [fillcolor="#7F7FFF", |
|
1095 fixedsize=true, |
|
1096 group=default, |
|
1097 height=2, |
|
1098 label="5: 9ca060c80d74", |
|
1099 pin=true, |
|
1100 pos="1,5!", |
|
1101 shape=circle, |
|
1102 style=filled, |
|
1103 width=2]; |
|
1104 0 -> 5; |
|
1105 6 [fillcolor="#7F7FFF", |
|
1106 fixedsize=true, |
|
1107 group=default, |
|
1108 height=2, |
|
1109 label="6: dfd3a2d7691e", |
|
1110 pin=true, |
|
1111 pos="1,6!", |
|
1112 shape=circle, |
|
1113 style=filled, |
|
1114 width=2]; |
|
1115 5 -> 6; |
|
1116 7 [fillcolor="#7F7FFF", |
|
1117 fixedsize=true, |
|
1118 group=default, |
|
1119 height=2, |
|
1120 label="7: 41aff6a42b75", |
|
1121 pin=true, |
|
1122 pos="1,7!", |
|
1123 shape=circle, |
|
1124 style=filled, |
|
1125 width=2]; |
|
1126 6 -> 7; |
|
1127 11 [fillcolor="#7F7FFF", |
|
1128 fixedsize=true, |
|
1129 group=default, |
|
1130 height=2, |
|
1131 label="11: a224f2a4fb9f", |
|
1132 pin=true, |
|
1133 pos="1,11!", |
|
1134 shape=circle, |
|
1135 style=filled, |
|
1136 width=2]; |
|
1137 7 -> 11; |
|
1138 14 [fillcolor="#7F7FFF", |
|
1139 fixedsize=true, |
|
1140 group=default, |
|
1141 height=2, |
|
1142 label="14: a44c85f957d3", |
|
1143 pin=true, |
|
1144 pos="1,14!", |
|
1145 shape=pentagon, |
|
1146 style=filled, |
|
1147 width=2]; |
|
1148 11 -> 14; |
|
1149 } |
|
1150 |
643 When we pull from remote again we get an unstable state! |
1151 When we pull from remote again we get an unstable state! |
644 |
1152 |
645 $ hg pull remote |
1153 $ hg pull remote |
646 pulling from $TESTTMP/remote (glob) |
1154 pulling from $TESTTMP/remote (glob) |
647 searching for changes |
1155 searching for changes |
672 o 9ca060c80d74 (public): SPAM |
1180 o 9ca060c80d74 (public): SPAM |
673 | |
1181 | |
674 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1182 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
675 |
1183 |
676 |
1184 |
|
1185 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
1186 .. graphviz:: |
|
1187 |
|
1188 strict digraph { |
|
1189 graph [rankdir=LR, |
|
1190 splines=polyline |
|
1191 ]; |
|
1192 node [label="\N"]; |
|
1193 0 [fillcolor="#7F7FFF", |
|
1194 fixedsize=true, |
|
1195 group=default, |
|
1196 height=2, |
|
1197 label="0: 7e82d3f3c2cb", |
|
1198 pin=true, |
|
1199 pos="1,0!", |
|
1200 shape=circle, |
|
1201 style=filled, |
|
1202 width=2]; |
|
1203 5 [fillcolor="#7F7FFF", |
|
1204 fixedsize=true, |
|
1205 group=default, |
|
1206 height=2, |
|
1207 label="5: 9ca060c80d74", |
|
1208 pin=true, |
|
1209 pos="1,5!", |
|
1210 shape=circle, |
|
1211 style=filled, |
|
1212 width=2]; |
|
1213 0 -> 5; |
|
1214 6 [fillcolor="#7F7FFF", |
|
1215 fixedsize=true, |
|
1216 group=default, |
|
1217 height=2, |
|
1218 label="6: dfd3a2d7691e", |
|
1219 pin=true, |
|
1220 pos="1,6!", |
|
1221 shape=circle, |
|
1222 style=filled, |
|
1223 width=2]; |
|
1224 5 -> 6; |
|
1225 7 [fillcolor="#7F7FFF", |
|
1226 fixedsize=true, |
|
1227 group=default, |
|
1228 height=2, |
|
1229 label="7: 41aff6a42b75", |
|
1230 pin=true, |
|
1231 pos="1,7!", |
|
1232 shape=circle, |
|
1233 style=filled, |
|
1234 width=2]; |
|
1235 6 -> 7; |
|
1236 11 [fillcolor="#7F7FFF", |
|
1237 fixedsize=true, |
|
1238 group=default, |
|
1239 height=2, |
|
1240 label="11: a224f2a4fb9f", |
|
1241 pin=true, |
|
1242 pos="1,11!", |
|
1243 shape=circle, |
|
1244 style=filled, |
|
1245 width=2]; |
|
1246 7 -> 11; |
|
1247 12 [fillcolor="#DFDFFF", |
|
1248 fixedsize=true, |
|
1249 group=default_alt, |
|
1250 height=2, |
|
1251 label="12: 75954b8cd933", |
|
1252 pin=true, |
|
1253 pos="2,12!", |
|
1254 shape=pentagon, |
|
1255 style="dotted, filled", |
|
1256 width=2]; |
|
1257 11 -> 12; |
|
1258 14 [fillcolor="#7F7FFF", |
|
1259 fixedsize=true, |
|
1260 group=default, |
|
1261 height=2, |
|
1262 label="14: a44c85f957d3", |
|
1263 pin=true, |
|
1264 pos="1,14!", |
|
1265 shape=pentagon, |
|
1266 style=filled, |
|
1267 width=2]; |
|
1268 11 -> 14; |
|
1269 12 -> 14 [arrowtail=dot, |
|
1270 dir=back, |
|
1271 minlen=0, |
|
1272 style=dotted]; |
|
1273 15 [fillcolor="#FF3535", |
|
1274 fixedsize=true, |
|
1275 group=default_alt, |
|
1276 height=2, |
|
1277 label="15: bf1b0d202029", |
|
1278 pin=true, |
|
1279 pos="2,15!", |
|
1280 shape=pentagon, |
|
1281 style=filled, |
|
1282 width=2]; |
|
1283 12 -> 15; |
|
1284 } |
|
1285 |
677 The older version 75954b8cd933 never ceased to exist in the local repo. It was |
1286 The older version 75954b8cd933 never ceased to exist in the local repo. It was |
678 just hidden and excluded from pull and push. |
1287 just hidden and excluded from pull and push. |
679 |
1288 |
680 .. 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``. |
1289 .. 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``. |
681 |
1290 |
723 | |
1332 | |
724 o 9ca060c80d74 (public): SPAM |
1333 o 9ca060c80d74 (public): SPAM |
725 | |
1334 | |
726 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1335 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
727 |
1336 |
|
1337 |
|
1338 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
1339 .. graphviz:: |
|
1340 |
|
1341 strict digraph { |
|
1342 graph [rankdir=LR, |
|
1343 splines=polyline |
|
1344 ]; |
|
1345 node [label="\N"]; |
|
1346 0 [fillcolor="#7F7FFF", |
|
1347 fixedsize=true, |
|
1348 group=default, |
|
1349 height=2, |
|
1350 label="0: 7e82d3f3c2cb", |
|
1351 pin=true, |
|
1352 pos="1,0!", |
|
1353 shape=circle, |
|
1354 style=filled, |
|
1355 width=2]; |
|
1356 5 [fillcolor="#7F7FFF", |
|
1357 fixedsize=true, |
|
1358 group=default, |
|
1359 height=2, |
|
1360 label="5: 9ca060c80d74", |
|
1361 pin=true, |
|
1362 pos="1,5!", |
|
1363 shape=circle, |
|
1364 style=filled, |
|
1365 width=2]; |
|
1366 0 -> 5; |
|
1367 6 [fillcolor="#7F7FFF", |
|
1368 fixedsize=true, |
|
1369 group=default, |
|
1370 height=2, |
|
1371 label="6: dfd3a2d7691e", |
|
1372 pin=true, |
|
1373 pos="1,6!", |
|
1374 shape=circle, |
|
1375 style=filled, |
|
1376 width=2]; |
|
1377 5 -> 6; |
|
1378 7 [fillcolor="#7F7FFF", |
|
1379 fixedsize=true, |
|
1380 group=default, |
|
1381 height=2, |
|
1382 label="7: 41aff6a42b75", |
|
1383 pin=true, |
|
1384 pos="1,7!", |
|
1385 shape=circle, |
|
1386 style=filled, |
|
1387 width=2]; |
|
1388 6 -> 7; |
|
1389 11 [fillcolor="#7F7FFF", |
|
1390 fixedsize=true, |
|
1391 group=default, |
|
1392 height=2, |
|
1393 label="11: a224f2a4fb9f", |
|
1394 pin=true, |
|
1395 pos="1,11!", |
|
1396 shape=circle, |
|
1397 style=filled, |
|
1398 width=2]; |
|
1399 7 -> 11; |
|
1400 14 [fillcolor="#7F7FFF", |
|
1401 fixedsize=true, |
|
1402 group=default, |
|
1403 height=2, |
|
1404 label="14: a44c85f957d3", |
|
1405 pin=true, |
|
1406 pos="1,14!", |
|
1407 shape=pentagon, |
|
1408 style=filled, |
|
1409 width=2]; |
|
1410 11 -> 14; |
|
1411 16 [fillcolor="#7F7FFF", |
|
1412 fixedsize=true, |
|
1413 group=default, |
|
1414 height=2, |
|
1415 label="16: ee942144f952", |
|
1416 pin=true, |
|
1417 pos="1,16!", |
|
1418 shape=pentagon, |
|
1419 style=filled, |
|
1420 width=2]; |
|
1421 14 -> 16; |
|
1422 } |
728 |
1423 |
729 We can push this evolution to remote. |
1424 We can push this evolution to remote. |
730 |
1425 |
731 $ hg push remote |
1426 $ hg push remote |
732 pushing to $TESTTMP/remote (glob) |
1427 pushing to $TESTTMP/remote (glob) |
795 o 9ca060c80d74 (public): SPAM |
1490 o 9ca060c80d74 (public): SPAM |
796 | |
1491 | |
797 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1492 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
798 |
1493 |
799 |
1494 |
|
1495 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
1496 .. graphviz:: |
|
1497 |
|
1498 strict digraph { |
|
1499 graph [rankdir=LR, |
|
1500 splines=polyline |
|
1501 ]; |
|
1502 node [label="\N"]; |
|
1503 0 [fillcolor="#7F7FFF", |
|
1504 fixedsize=true, |
|
1505 group=default, |
|
1506 height=2, |
|
1507 label="0: 7e82d3f3c2cb", |
|
1508 pin=true, |
|
1509 pos="1,0!", |
|
1510 shape=circle, |
|
1511 style=filled, |
|
1512 width=2]; |
|
1513 5 [fillcolor="#7F7FFF", |
|
1514 fixedsize=true, |
|
1515 group=default, |
|
1516 height=2, |
|
1517 label="5: 9ca060c80d74", |
|
1518 pin=true, |
|
1519 pos="1,5!", |
|
1520 shape=circle, |
|
1521 style=filled, |
|
1522 width=2]; |
|
1523 0 -> 5; |
|
1524 6 [fillcolor="#7F7FFF", |
|
1525 fixedsize=true, |
|
1526 group=default, |
|
1527 height=2, |
|
1528 label="6: dfd3a2d7691e", |
|
1529 pin=true, |
|
1530 pos="1,6!", |
|
1531 shape=circle, |
|
1532 style=filled, |
|
1533 width=2]; |
|
1534 5 -> 6; |
|
1535 7 [fillcolor="#7F7FFF", |
|
1536 fixedsize=true, |
|
1537 group=default, |
|
1538 height=2, |
|
1539 label="7: 41aff6a42b75", |
|
1540 pin=true, |
|
1541 pos="1,7!", |
|
1542 shape=circle, |
|
1543 style=filled, |
|
1544 width=2]; |
|
1545 6 -> 7; |
|
1546 11 [fillcolor="#7F7FFF", |
|
1547 fixedsize=true, |
|
1548 group=default, |
|
1549 height=2, |
|
1550 label="11: a224f2a4fb9f", |
|
1551 pin=true, |
|
1552 pos="1,11!", |
|
1553 shape=circle, |
|
1554 style=filled, |
|
1555 width=2]; |
|
1556 7 -> 11; |
|
1557 14 [fillcolor="#7F7FFF", |
|
1558 fixedsize=true, |
|
1559 group=default, |
|
1560 height=2, |
|
1561 label="14: a44c85f957d3", |
|
1562 pin=true, |
|
1563 pos="1,14!", |
|
1564 shape=pentagon, |
|
1565 style=filled, |
|
1566 width=2]; |
|
1567 11 -> 14; |
|
1568 16 [fillcolor="#7F7FFF", |
|
1569 fixedsize=true, |
|
1570 group=default, |
|
1571 height=2, |
|
1572 label="16: ee942144f952", |
|
1573 pin=true, |
|
1574 pos="1,16!", |
|
1575 shape=pentagon, |
|
1576 style=filled, |
|
1577 width=2]; |
|
1578 14 -> 16; |
|
1579 17 [fillcolor="#7F7FFF", |
|
1580 fixedsize=true, |
|
1581 group=default, |
|
1582 height=2, |
|
1583 label="17: 99f039c5ec9e", |
|
1584 pin=true, |
|
1585 pos="1,17!", |
|
1586 shape=pentagon, |
|
1587 style=filled, |
|
1588 width=2]; |
|
1589 16 -> 17; |
|
1590 } |
|
1591 |
800 In the mean time I noticed you can't buy animals in a super market and I prune the animal changeset: |
1592 In the mean time I noticed you can't buy animals in a super market and I prune the animal changeset: |
801 |
1593 |
802 $ hg prune ee942144f952 |
1594 $ hg prune ee942144f952 |
803 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
1595 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
804 working directory now at a44c85f957d3 |
1596 working directory now at a44c85f957d3 |
824 | |
1616 | |
825 o 9ca060c80d74 (public): SPAM |
1617 o 9ca060c80d74 (public): SPAM |
826 | |
1618 | |
827 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1619 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
828 |
1620 |
|
1621 |
|
1622 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
1623 .. graphviz:: |
|
1624 |
|
1625 strict digraph { |
|
1626 graph [rankdir=LR, |
|
1627 splines=polyline |
|
1628 ]; |
|
1629 node [label="\N"]; |
|
1630 0 [fillcolor="#7F7FFF", |
|
1631 fixedsize=true, |
|
1632 group=default, |
|
1633 height=2, |
|
1634 label="0: 7e82d3f3c2cb", |
|
1635 pin=true, |
|
1636 pos="1,0!", |
|
1637 shape=circle, |
|
1638 style=filled, |
|
1639 width=2]; |
|
1640 5 [fillcolor="#7F7FFF", |
|
1641 fixedsize=true, |
|
1642 group=default, |
|
1643 height=2, |
|
1644 label="5: 9ca060c80d74", |
|
1645 pin=true, |
|
1646 pos="1,5!", |
|
1647 shape=circle, |
|
1648 style=filled, |
|
1649 width=2]; |
|
1650 0 -> 5; |
|
1651 6 [fillcolor="#7F7FFF", |
|
1652 fixedsize=true, |
|
1653 group=default, |
|
1654 height=2, |
|
1655 label="6: dfd3a2d7691e", |
|
1656 pin=true, |
|
1657 pos="1,6!", |
|
1658 shape=circle, |
|
1659 style=filled, |
|
1660 width=2]; |
|
1661 5 -> 6; |
|
1662 7 [fillcolor="#7F7FFF", |
|
1663 fixedsize=true, |
|
1664 group=default, |
|
1665 height=2, |
|
1666 label="7: 41aff6a42b75", |
|
1667 pin=true, |
|
1668 pos="1,7!", |
|
1669 shape=circle, |
|
1670 style=filled, |
|
1671 width=2]; |
|
1672 6 -> 7; |
|
1673 11 [fillcolor="#7F7FFF", |
|
1674 fixedsize=true, |
|
1675 group=default, |
|
1676 height=2, |
|
1677 label="11: a224f2a4fb9f", |
|
1678 pin=true, |
|
1679 pos="1,11!", |
|
1680 shape=circle, |
|
1681 style=filled, |
|
1682 width=2]; |
|
1683 7 -> 11; |
|
1684 14 [fillcolor="#7F7FFF", |
|
1685 fixedsize=true, |
|
1686 group=default, |
|
1687 height=2, |
|
1688 label="14: a44c85f957d3", |
|
1689 pin=true, |
|
1690 pos="1,14!", |
|
1691 shape=pentagon, |
|
1692 style=filled, |
|
1693 width=2]; |
|
1694 11 -> 14; |
|
1695 16 [fillcolor="#DFDFFF", |
|
1696 fixedsize=true, |
|
1697 group=default_alt, |
|
1698 height=2, |
|
1699 label="16: ee942144f952", |
|
1700 pin=true, |
|
1701 pos="2,16!", |
|
1702 shape=pentagon, |
|
1703 style="dotted, filled", |
|
1704 width=2]; |
|
1705 14 -> 16; |
|
1706 17 [fillcolor="#FF3535", |
|
1707 fixedsize=true, |
|
1708 group=default_alt, |
|
1709 height=2, |
|
1710 label="17: 99f039c5ec9e", |
|
1711 pin=true, |
|
1712 pos="2,17!", |
|
1713 shape=pentagon, |
|
1714 style=filled, |
|
1715 width=2]; |
|
1716 16 -> 17; |
|
1717 } |
|
1718 |
829 $ hg log -r "orphan()" |
1719 $ hg log -r "orphan()" |
830 99f039c5ec9e (draft): SPAM SPAM SPAM |
1720 99f039c5ec9e (draft): SPAM SPAM SPAM |
|
1721 |
|
1722 $ hg graphviz -r "orphan()" --sphinx-directive --rankdir LR #ignore |
|
1723 .. graphviz:: |
|
1724 |
|
1725 strict digraph { |
|
1726 graph [rankdir=LR, |
|
1727 splines=polyline |
|
1728 ]; |
|
1729 node [label="\N"]; |
|
1730 17 [fillcolor="#FF3535", |
|
1731 fixedsize=true, |
|
1732 group=default_alt, |
|
1733 height=2, |
|
1734 label="17: 99f039c5ec9e", |
|
1735 pin=true, |
|
1736 pos="1,17!", |
|
1737 shape=pentagon, |
|
1738 style=filled, |
|
1739 width=2]; |
|
1740 } |
831 |
1741 |
832 $ hg evolve |
1742 $ hg evolve |
833 move:[15] SPAM SPAM SPAM |
1743 move:[15] SPAM SPAM SPAM |
834 atop:[12] bathroom stuff |
1744 atop:[12] bathroom stuff |
835 merging shopping |
1745 merging shopping |
848 | |
1758 | |
849 o 9ca060c80d74 (public): SPAM |
1759 o 9ca060c80d74 (public): SPAM |
850 | |
1760 | |
851 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
1761 o 7e82d3f3c2cb (public): Monthy Python Shopping list |
852 |
1762 |
|
1763 |
|
1764 $ hg graphviz -r "all()" --sphinx-directive --rankdir LR #ignore |
|
1765 .. graphviz:: |
|
1766 |
|
1767 strict digraph { |
|
1768 graph [rankdir=LR, |
|
1769 splines=polyline |
|
1770 ]; |
|
1771 node [label="\N"]; |
|
1772 0 [fillcolor="#7F7FFF", |
|
1773 fixedsize=true, |
|
1774 group=default, |
|
1775 height=2, |
|
1776 label="0: 7e82d3f3c2cb", |
|
1777 pin=true, |
|
1778 pos="1,0!", |
|
1779 shape=circle, |
|
1780 style=filled, |
|
1781 width=2]; |
|
1782 5 [fillcolor="#7F7FFF", |
|
1783 fixedsize=true, |
|
1784 group=default, |
|
1785 height=2, |
|
1786 label="5: 9ca060c80d74", |
|
1787 pin=true, |
|
1788 pos="1,5!", |
|
1789 shape=circle, |
|
1790 style=filled, |
|
1791 width=2]; |
|
1792 0 -> 5; |
|
1793 6 [fillcolor="#7F7FFF", |
|
1794 fixedsize=true, |
|
1795 group=default, |
|
1796 height=2, |
|
1797 label="6: dfd3a2d7691e", |
|
1798 pin=true, |
|
1799 pos="1,6!", |
|
1800 shape=circle, |
|
1801 style=filled, |
|
1802 width=2]; |
|
1803 5 -> 6; |
|
1804 7 [fillcolor="#7F7FFF", |
|
1805 fixedsize=true, |
|
1806 group=default, |
|
1807 height=2, |
|
1808 label="7: 41aff6a42b75", |
|
1809 pin=true, |
|
1810 pos="1,7!", |
|
1811 shape=circle, |
|
1812 style=filled, |
|
1813 width=2]; |
|
1814 6 -> 7; |
|
1815 11 [fillcolor="#7F7FFF", |
|
1816 fixedsize=true, |
|
1817 group=default, |
|
1818 height=2, |
|
1819 label="11: a224f2a4fb9f", |
|
1820 pin=true, |
|
1821 pos="1,11!", |
|
1822 shape=circle, |
|
1823 style=filled, |
|
1824 width=2]; |
|
1825 7 -> 11; |
|
1826 14 [fillcolor="#7F7FFF", |
|
1827 fixedsize=true, |
|
1828 group=default, |
|
1829 height=2, |
|
1830 label="14: a44c85f957d3", |
|
1831 pin=true, |
|
1832 pos="1,14!", |
|
1833 shape=pentagon, |
|
1834 style=filled, |
|
1835 width=2]; |
|
1836 11 -> 14; |
|
1837 18 [fillcolor="#7F7FFF", |
|
1838 fixedsize=true, |
|
1839 group=default, |
|
1840 height=2, |
|
1841 label="18: 40aa40daeefb", |
|
1842 pin=true, |
|
1843 pos="1,18!", |
|
1844 shape=pentagon, |
|
1845 style=filled, |
|
1846 width=2]; |
|
1847 14 -> 18; |
|
1848 } |
|
1849 |
853 Handling Divergent amend |
1850 Handling Divergent amend |
854 ---------------------------------------------- |
1851 ---------------------------------------------- |
855 |
1852 |
856 We can detect that multiple diverging amendments have been made. |
1853 We can detect that multiple diverging amendments have been made. |
857 The `evolve` command can solve this situation. But all corner case are not |
1854 The `evolve` command can solve this situation. But all corner case are not |