comparison tests/test-tutorial.t @ 2822:56733f2ddb04 stable

test: fix typos in evolve tutorial
author Boris Feld <boris.feld@octobus.net>
date Mon, 24 Jul 2017 16:44:37 +0200
parents 85e5a56db776
children 93588d219f2f
comparison
equal deleted inserted replaced
2821:ddbee40be518 2822:56733f2ddb04
156 o 4d5dc8187023 (draft): adding condiment 156 o 4d5dc8187023 (draft): adding condiment
157 | 157 |
158 o 7e82d3f3c2cb (public): Monthy Python Shopping list 158 o 7e82d3f3c2cb (public): Monthy Python Shopping list
159 159
160 160
161 hopefully. I can use `hg commit --amend` to rewrite my faulty changeset! 161 Hopefully. I can use `hg commit --amend` to rewrite my faulty changeset!
162 162
163 $ sed -i'' -e s/Bananos/Banana/ shopping 163 $ sed -i'' -e s/Bananos/Banana/ shopping
164 $ hg diff 164 $ hg diff
165 diff --git a/shopping b/shopping 165 diff --git a/shopping b/shopping
166 --- a/shopping 166 --- a/shopping
205 +Apple 205 +Apple
206 206
207 Getting rid of branchy history 207 Getting rid of branchy history
208 ---------------------------------- 208 ----------------------------------
209 209
210 While I was working on my list. someone made a change remotely. 210 While I was working on my list. Someone made a change remotely.
211 211
212 $ cd ../remote 212 $ cd ../remote
213 $ hg up -q 213 $ hg up -q
214 $ sed -i'' -e 's/Spam/Spam Spam Spam/' shopping 214 $ sed -i'' -e 's/Spam/Spam Spam Spam/' shopping
215 $ hg ci -m 'SPAM' 215 $ hg ci -m 'SPAM'
224 adding manifests 224 adding manifests
225 adding file changes 225 adding file changes
226 added 1 changesets with 1 changes to 1 files (+1 heads) 226 added 1 changesets with 1 changes to 1 files (+1 heads)
227 (run 'hg heads' to see heads, 'hg merge' to merge) 227 (run 'hg heads' to see heads, 'hg merge' to merge)
228 228
229 I now have a new heads. Note that this remote head is immutable 229 I now have a new head. Note that this remote head is immutable.
230 230
231 $ hg log -G 231 $ hg log -G
232 o 9ca060c80d74 (public): SPAM 232 o 9ca060c80d74 (public): SPAM
233 | 233 |
234 | @ 9d0363b81950 (draft): adding fruit 234 | @ 9d0363b81950 (draft): adding fruit
236 | o 4d5dc8187023 (draft): adding condiment 236 | o 4d5dc8187023 (draft): adding condiment
237 |/ 237 |/
238 o 7e82d3f3c2cb (public): Monthy Python Shopping list 238 o 7e82d3f3c2cb (public): Monthy Python Shopping list
239 239
240 240
241 instead of merging my head with the new one. I'm going to rebase my work 241 Instead of merging my head with the new one. I'm going to rebase my work
242 242
243 $ hg diff 243 $ hg diff
244 $ hg rebase --dest 9ca060c80d74 --source 4d5dc8187023 244 $ hg rebase --dest 9ca060c80d74 --source 4d5dc8187023
245 rebasing 1:4d5dc8187023 "adding condiment" 245 rebasing 1:4d5dc8187023 "adding condiment"
246 merging shopping 246 merging shopping
261 261
262 262
263 Removing changesets 263 Removing changesets
264 ------------------------ 264 ------------------------
265 265
266 I add new item to my list 266 I add new items to my list.
267 267
268 $ cat >> shopping << EOF 268 $ cat >> shopping << EOF
269 > car 269 > car
270 > bus 270 > bus
271 > plane 271 > plane
282 o 9ca060c80d74 (public): SPAM 282 o 9ca060c80d74 (public): SPAM
283 | 283 |
284 o 7e82d3f3c2cb (public): Monthy Python Shopping list 284 o 7e82d3f3c2cb (public): Monthy Python Shopping list
285 285
286 286
287 I have a new commit but I realize that don't want it. (transport shop list does 287 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) 288 not fit well in my standard shopping list)
289 289
290 $ hg prune . # "." is for working directory parent 290 $ hg prune . # "." is for working directory parent
291 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 291 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
292 working directory now at 41aff6a42b75 292 working directory now at 41aff6a42b75
511 ----------------------- 511 -----------------------
512 Collaboration 512 Collaboration
513 ----------------------- 513 -----------------------
514 514
515 515
516 sharing mutable changesets 516 Sharing mutable changesets
517 ---------------------------- 517 ----------------------------
518 518
519 To share mutable changesets with others, just check that the repo you interact 519 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 520 with is "not publishing". Otherwise you will get the previously observe
521 behavior where exchanged changeset are automatically published. 521 behavior where exchanged changeset are automatically published.
522 522
523 $ cd ../remote 523 $ cd ../remote
524 $ hg -R ../local/ showconfig phases 524 $ hg -R ../local/ showconfig phases
525 [1] 525 [1]
526 526
527 the localrepo does not have any specific configuration for `phases.publish`. It 527 The localrepo does not have any specific configuration for `phases.publish`. It
528 is ``true`` by default. 528 is ``true`` by default.
529 529
530 $ hg pull local 530 $ hg pull local
531 pulling from $TESTTMP/local (glob) 531 pulling from $TESTTMP/local (glob)
532 searching for changes 532 searching for changes
548 @ 9ca060c80d74 (public): SPAM 548 @ 9ca060c80d74 (public): SPAM
549 | 549 |
550 o 7e82d3f3c2cb (public): Monthy Python Shopping list 550 o 7e82d3f3c2cb (public): Monthy Python Shopping list
551 551
552 552
553
554
555 We do not want to publish the "bathroom changeset". Let's rollback the last transaction. 553 We do not want to publish the "bathroom changeset". Let's rollback the last transaction.
556 554
557 .. Warning: Rollback is actually a dangerous kind of internal command that is deprecated and should not be exposed to user. Please forget you read about it until someone fix this tutorial. 555 .. Warning: Rollback is actually a dangerous kind of internal command that is deprecated and should not be exposed to user. Please forget you read about it until someone fix this tutorial.
558 556
559 $ hg rollback 557 $ hg rollback
568 @ 9ca060c80d74 (public): SPAM 566 @ 9ca060c80d74 (public): SPAM
569 | 567 |
570 o 7e82d3f3c2cb (public): Monthy Python Shopping list 568 o 7e82d3f3c2cb (public): Monthy Python Shopping list
571 569
572 570
573 Let's make the local repo "non publishing" 571 Let's make the local repo "non publishing".
574 572
575 $ echo '[phases]' >> ../local/.hg/hgrc 573 $ echo '[phases]' >> ../local/.hg/hgrc
576 $ echo 'publish=false' >> ../local/.hg/hgrc 574 $ echo 'publish=false' >> ../local/.hg/hgrc
577 $ echo '[phases]' >> .hg/hgrc 575 $ echo '[phases]' >> .hg/hgrc
578 $ echo 'publish=false' >> .hg/hgrc 576 $ echo 'publish=false' >> .hg/hgrc
639 o 9ca060c80d74 (public): SPAM 637 o 9ca060c80d74 (public): SPAM
640 | 638 |
641 o 7e82d3f3c2cb (public): Monthy Python Shopping list 639 o 7e82d3f3c2cb (public): Monthy Python Shopping list
642 640
643 641
644
645 When we pull from remote again we get an unstable state! 642 When we pull from remote again we get an unstable state!
646 643
647 $ hg pull remote 644 $ hg pull remote
648 pulling from $TESTTMP/remote (glob) 645 pulling from $TESTTMP/remote (glob)
649 searching for changes 646 searching for changes
690 abort: push includes unstable changeset: bf1b0d202029! 687 abort: push includes unstable changeset: bf1b0d202029!
691 (use 'hg evolve' to get a stable history or --force to ignore warnings) 688 (use 'hg evolve' to get a stable history or --force to ignore warnings)
692 [255] 689 [255]
693 690
694 691
695
696
697 To resolve this unstable state, you need to rebase bf1b0d202029 onto 692 To resolve this unstable state, you need to rebase bf1b0d202029 onto
698 a44c85f957d3. The `hg evolve` command will do this for you. 693 a44c85f957d3. The `hg evolve` command will do this for you.
699 694
700 It has a --dry-run option to only suggest the next move. 695 It has a --dry-run option to only suggest the next move.
701 696
728 o 9ca060c80d74 (public): SPAM 723 o 9ca060c80d74 (public): SPAM
729 | 724 |
730 o 7e82d3f3c2cb (public): Monthy Python Shopping list 725 o 7e82d3f3c2cb (public): Monthy Python Shopping list
731 726
732 727
733 728 We can push this evolution to remote.
734 We can push this evolution to remote
735 729
736 $ hg push remote 730 $ hg push remote
737 pushing to $TESTTMP/remote (glob) 731 pushing to $TESTTMP/remote (glob)
738 searching for changes 732 searching for changes
739 adding changesets 733 adding changesets
741 adding file changes 735 adding file changes
742 added 2 changesets with 2 changes to 1 files (+1 heads) 736 added 2 changesets with 2 changes to 1 files (+1 heads)
743 3 new obsolescence markers 737 3 new obsolescence markers
744 obsoleted 2 changesets 738 obsoleted 2 changesets
745 739
746 remote get a warning that current working directory is based on an obsolete changeset 740 Remote get a warning that current working directory is based on an obsolete
741 changeset.
747 742
748 $ cd ../remote 743 $ cd ../remote
749 $ hg pull local # we up again to trigger the warning. it was displayed during the push 744 $ hg pull local # we up again to trigger the warning. it was displayed during the push
750 pulling from $TESTTMP/local (glob) 745 pulling from $TESTTMP/local (glob)
751 searching for changes 746 searching for changes
752 no changes found 747 no changes found
753 working directory parent is obsolete! (bf1b0d202029) 748 working directory parent is obsolete! (bf1b0d202029)
754 (use 'hg evolve' to update to its successor: ee942144f952) 749 (use 'hg evolve' to update to its successor: ee942144f952)
755 750
756 now let's see where we are, and update to the successor 751 Now let's see where we are, and update to the successor.
757 752
758 $ hg parents 753 $ hg parents
759 bf1b0d202029 (draft): animals 754 bf1b0d202029 (draft): animals
760 working directory parent is obsolete! (bf1b0d202029) 755 working directory parent is obsolete! (bf1b0d202029)
761 (use 'hg evolve' to update to its successor: ee942144f952) 756 (use 'hg evolve' to update to its successor: ee942144f952)
765 working directory is now at ee942144f952 760 working directory is now at ee942144f952
766 761
767 Relocating unstable change after prune 762 Relocating unstable change after prune
768 ---------------------------------------------- 763 ----------------------------------------------
769 764
770 The remote guy keep working 765 The remote guy keeps working.
771 766
772 $ sed -i'' -e 's/Spam/Spam Spam Spam Spam/g' shopping 767 $ sed -i'' -e 's/Spam/Spam Spam Spam Spam/g' shopping
773 $ hg commit -m "SPAM SPAM SPAM" 768 $ hg commit -m "SPAM SPAM SPAM"
774 769
775 I'm pulling its work locally. 770 I'm pulling its work locally.
809 1 changesets pruned 804 1 changesets pruned
810 1 new unstable changesets 805 1 new unstable changesets
811 806
812 807
813 The animals changeset is still displayed because the "SPAM SPAM SPAM" changeset 808 The animals changeset is still displayed because the "SPAM SPAM SPAM" changeset
814 is neither dead or obsolete. My repository is in an unstable state again. 809 is neither dead or obsolete. My repository is in an unstable state again.
815 810
816 $ hg log -G 811 $ hg log -G
817 o 99f039c5ec9e (draft): SPAM SPAM SPAM 812 o 99f039c5ec9e (draft): SPAM SPAM SPAM
818 | 813 |
819 x ee942144f952 (draft): animals 814 x ee942144f952 (draft): animals
828 | 823 |
829 o 9ca060c80d74 (public): SPAM 824 o 9ca060c80d74 (public): SPAM
830 | 825 |
831 o 7e82d3f3c2cb (public): Monthy Python Shopping list 826 o 7e82d3f3c2cb (public): Monthy Python Shopping list
832 827
833
834 $ hg log -r 'unstable()' 828 $ hg log -r 'unstable()'
835 99f039c5ec9e (draft): SPAM SPAM SPAM 829 99f039c5ec9e (draft): SPAM SPAM SPAM
836 830
837 $ hg evolve 831 $ hg evolve
838 move:[17] SPAM SPAM SPAM 832 move:[17] SPAM SPAM SPAM
853 | 847 |
854 o 9ca060c80d74 (public): SPAM 848 o 9ca060c80d74 (public): SPAM
855 | 849 |
856 o 7e82d3f3c2cb (public): Monthy Python Shopping list 850 o 7e82d3f3c2cb (public): Monthy Python Shopping list
857 851
858
859
860 Handling Divergent amend 852 Handling Divergent amend
861 ---------------------------------------------- 853 ----------------------------------------------
862 854
863 We can detect that multiple diverging amendments have been made. 855 We can detect that multiple diverging amendments have been made.
864 The `evolve` command can solve this situation. But all corner case are not 856 The `evolve` command can solve this situation. But all corner case are not