##// END OF EJS Templates
test: add a push race case where non-contiguous branch head are created...
marmoute -
r32637:9234d2cb default
parent child Browse files
Show More
@@ -895,3 +895,180 b' Check the result of the push'
895 |/
895 |/
896 @ 842e2fac6304 C-ROOT (default)
896 @ 842e2fac6304 C-ROOT (default)
897
897
898
899 racing commit push a new head behind another named branch
900 ---------------------------------------------------------
901
902 non-continuous branch are valid case, we tests for them.
903
904 # b (branch default)
905 # |
906 # o (branch foo)
907 # |
908 # | a (raced, branch default)
909 # |/
910 # * (branch foo)
911 # |
912 # * (branch default)
913
914 (resync-all + other branch)
915
916 $ hg -R ./server pull ./client-racy
917 pulling from ./client-racy
918 searching for changes
919 adding changesets
920 adding manifests
921 adding file changes
922 added 1 changesets with 0 changes to 0 files
923 (run 'hg update' to get a working copy)
924
925 (creates named branch on head)
926
927 $ hg -R ./server/ up 'desc("C-N")'
928 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
929 $ hg -R ./server/ branch other
930 marked working directory as branch other
931 $ hg -R ./server/ ci -m "C-Z"
932 $ hg -R ./server/ up null
933 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
934
935 (sync client)
936
937 $ hg -R ./client-other pull
938 pulling from ssh://user@dummy/server
939 searching for changes
940 adding changesets
941 adding manifests
942 adding file changes
943 added 2 changesets with 0 changes to 0 files
944 (run 'hg update' to get a working copy)
945 $ hg -R ./client-racy pull
946 pulling from ssh://user@dummy/server
947 searching for changes
948 adding changesets
949 adding manifests
950 adding file changes
951 added 2 changesets with 1 changes to 1 files (+1 heads)
952 (run 'hg heads .' to see heads, 'hg merge' to merge)
953
954 $ hg -R server graph
955 o 55a6f1c01b48 C-Z (other)
956 |
957 o 866a66e18630 C-N (default)
958 |\
959 +---o 6fd3090135df C-M (default)
960 | |
961 | o cac2cead0ff0 C-L (default)
962 | |
963 o | be705100c623 C-K (default)
964 |\|
965 o | d603e2c0cdd7 C-E (default)
966 | |
967 | o 59e76faf78bd C-D (default)
968 | |
969 | | o 89420bf00fae C-J (default)
970 | | |
971 | | | o b35ed749f288 C-I (my-second-test-branch)
972 | | |/
973 | | o 75d69cba5402 C-G (default)
974 | | |
975 | | | o 833be552cfe6 C-H (my-first-test-branch)
976 | | |/
977 | | o d9e379a8c432 C-F (default)
978 | | |
979 +---o 51c544a58128 C-C (default)
980 | |
981 | o a9149a1428e2 C-B (default)
982 | |
983 o | 98217d5a1659 C-A (default)
984 |/
985 o 842e2fac6304 C-ROOT (default)
986
987
988 Creating changesets
989
990 (update default head through another named branch one)
991
992 $ hg -R client-other/ up 'desc("C-Z")'
993 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
994 $ echo aaa >> client-other/a
995 $ hg -R client-other/ commit -m "C-O"
996 $ echo aaa >> client-other/a
997 $ hg -R client-other/ branch --force default
998 marked working directory as branch default
999 $ hg -R client-other/ commit -m "C-P"
1000 created new head
1001
1002 (update default head)
1003
1004 $ hg -R client-racy/ up 'desc("C-Z")'
1005 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1006 $ echo bbb >> client-other/a
1007 $ hg -R client-racy/ branch --force default
1008 marked working directory as branch default
1009 $ hg -R client-racy/ commit -m "C-Q"
1010 created new head
1011
1012 Pushing
1013
1014 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 &
1015
1016 $ waiton $TESTTMP/readyfile
1017
1018 $ hg -R client-other push -fr 'tip' --new-branch
1019 pushing to ssh://user@dummy/server
1020 searching for changes
1021 remote: adding changesets
1022 remote: adding manifests
1023 remote: adding file changes
1024 remote: added 2 changesets with 1 changes to 1 files
1025
1026 $ release $TESTTMP/watchfile
1027
1028 Check the result of the push
1029
1030 $ cat ./push-log
1031 pushing to ssh://user@dummy/server
1032 searching for changes
1033 wrote ready: $TESTTMP/readyfile
1034 waiting on: $TESTTMP/watchfile
1035 abort: push failed:
1036 'repository changed while pushing - please try again'
1037
1038 $ hg -R server graph
1039 o 1b58ee3f79e5 C-P (default)
1040 |
1041 o d0a85b2252a9 C-O (other)
1042 |
1043 o 55a6f1c01b48 C-Z (other)
1044 |
1045 o 866a66e18630 C-N (default)
1046 |\
1047 +---o 6fd3090135df C-M (default)
1048 | |
1049 | o cac2cead0ff0 C-L (default)
1050 | |
1051 o | be705100c623 C-K (default)
1052 |\|
1053 o | d603e2c0cdd7 C-E (default)
1054 | |
1055 | o 59e76faf78bd C-D (default)
1056 | |
1057 | | o 89420bf00fae C-J (default)
1058 | | |
1059 | | | o b35ed749f288 C-I (my-second-test-branch)
1060 | | |/
1061 | | o 75d69cba5402 C-G (default)
1062 | | |
1063 | | | o 833be552cfe6 C-H (my-first-test-branch)
1064 | | |/
1065 | | o d9e379a8c432 C-F (default)
1066 | | |
1067 +---o 51c544a58128 C-C (default)
1068 | |
1069 | o a9149a1428e2 C-B (default)
1070 | |
1071 o | 98217d5a1659 C-A (default)
1072 |/
1073 o 842e2fac6304 C-ROOT (default)
1074
General Comments 0
You need to be logged in to leave comments. Login now