Mercurial > hg
comparison tests/test-push-race.t @ 32638:4f6645ec6bb2
test: add the mirror push race case for non-contiguous branch head
We check case where the raced push update that a head through another named
branch while the racing push update that same head.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 27 May 2017 22:27:56 +0200 |
parents | 9234d2cb24a5 |
children | 6ac367b6ae8a |
comparison
equal
deleted
inserted
replaced
32637:9234d2cb24a5 | 32638:4f6645ec6bb2 |
---|---|
1070 | | | 1070 | | |
1071 o | 98217d5a1659 C-A (default) | 1071 o | 98217d5a1659 C-A (default) |
1072 |/ | 1072 |/ |
1073 o 842e2fac6304 C-ROOT (default) | 1073 o 842e2fac6304 C-ROOT (default) |
1074 | 1074 |
1075 | |
1076 raced commit push a new head behind another named branch | |
1077 --------------------------------------------------------- | |
1078 | |
1079 non-continuous branch are valid case, we tests for them. | |
1080 | |
1081 # b (raced branch default) | |
1082 # | | |
1083 # o (branch foo) | |
1084 # | | |
1085 # | a (branch default) | |
1086 # |/ | |
1087 # * (branch foo) | |
1088 # | | |
1089 # * (branch default) | |
1090 | |
1091 (resync-all) | |
1092 | |
1093 $ hg -R ./server pull ./client-racy | |
1094 pulling from ./client-racy | |
1095 searching for changes | |
1096 adding changesets | |
1097 adding manifests | |
1098 adding file changes | |
1099 added 1 changesets with 0 changes to 0 files (+1 heads) | |
1100 (run 'hg heads .' to see heads, 'hg merge' to merge) | |
1101 $ hg -R ./client-other pull | |
1102 pulling from ssh://user@dummy/server | |
1103 searching for changes | |
1104 adding changesets | |
1105 adding manifests | |
1106 adding file changes | |
1107 added 1 changesets with 0 changes to 0 files (+1 heads) | |
1108 (run 'hg heads .' to see heads, 'hg merge' to merge) | |
1109 $ hg -R ./client-racy pull | |
1110 pulling from ssh://user@dummy/server | |
1111 searching for changes | |
1112 adding changesets | |
1113 adding manifests | |
1114 adding file changes | |
1115 added 2 changesets with 1 changes to 1 files (+1 heads) | |
1116 (run 'hg heads .' to see heads, 'hg merge' to merge) | |
1117 | |
1118 $ hg -R server graph | |
1119 o b0ee3d6f51bc C-Q (default) | |
1120 | | |
1121 | o 1b58ee3f79e5 C-P (default) | |
1122 | | | |
1123 | o d0a85b2252a9 C-O (other) | |
1124 |/ | |
1125 o 55a6f1c01b48 C-Z (other) | |
1126 | | |
1127 o 866a66e18630 C-N (default) | |
1128 |\ | |
1129 +---o 6fd3090135df C-M (default) | |
1130 | | | |
1131 | o cac2cead0ff0 C-L (default) | |
1132 | | | |
1133 o | be705100c623 C-K (default) | |
1134 |\| | |
1135 o | d603e2c0cdd7 C-E (default) | |
1136 | | | |
1137 | o 59e76faf78bd C-D (default) | |
1138 | | | |
1139 | | o 89420bf00fae C-J (default) | |
1140 | | | | |
1141 | | | o b35ed749f288 C-I (my-second-test-branch) | |
1142 | | |/ | |
1143 | | o 75d69cba5402 C-G (default) | |
1144 | | | | |
1145 | | | o 833be552cfe6 C-H (my-first-test-branch) | |
1146 | | |/ | |
1147 | | o d9e379a8c432 C-F (default) | |
1148 | | | | |
1149 +---o 51c544a58128 C-C (default) | |
1150 | | | |
1151 | o a9149a1428e2 C-B (default) | |
1152 | | | |
1153 o | 98217d5a1659 C-A (default) | |
1154 |/ | |
1155 o 842e2fac6304 C-ROOT (default) | |
1156 | |
1157 | |
1158 Creating changesets | |
1159 | |
1160 (update 'other' named branch head) | |
1161 | |
1162 $ hg -R client-other/ up 'desc("C-P")' | |
1163 0 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
1164 $ echo aaa >> client-other/a | |
1165 $ hg -R client-other/ branch --force other | |
1166 marked working directory as branch other | |
1167 $ hg -R client-other/ commit -m "C-R" | |
1168 created new head | |
1169 | |
1170 (update 'other named brnach through a 'default' changeset') | |
1171 | |
1172 $ hg -R client-racy/ up 'desc("C-P")' | |
1173 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
1174 $ echo bbb >> client-racy/a | |
1175 $ hg -R client-racy/ commit -m "C-S" | |
1176 $ echo bbb >> client-racy/a | |
1177 $ hg -R client-racy/ branch --force other | |
1178 marked working directory as branch other | |
1179 $ hg -R client-racy/ commit -m "C-T" | |
1180 created new head | |
1181 | |
1182 Pushing | |
1183 | |
1184 $ hg -R client-racy push -r 'tip' > ./push-log 2>&1 & | |
1185 | |
1186 $ waiton $TESTTMP/readyfile | |
1187 | |
1188 $ hg -R client-other push -fr 'tip' --new-branch | |
1189 pushing to ssh://user@dummy/server | |
1190 searching for changes | |
1191 remote: adding changesets | |
1192 remote: adding manifests | |
1193 remote: adding file changes | |
1194 remote: added 1 changesets with 1 changes to 1 files | |
1195 | |
1196 $ release $TESTTMP/watchfile | |
1197 | |
1198 Check the result of the push | |
1199 | |
1200 $ cat ./push-log | |
1201 pushing to ssh://user@dummy/server | |
1202 searching for changes | |
1203 wrote ready: $TESTTMP/readyfile | |
1204 waiting on: $TESTTMP/watchfile | |
1205 abort: push failed: | |
1206 'repository changed while pushing - please try again' | |
1207 | |
1208 $ hg -R server graph | |
1209 o de7b9e2ba3f6 C-R (other) | |
1210 | | |
1211 o 1b58ee3f79e5 C-P (default) | |
1212 | | |
1213 o d0a85b2252a9 C-O (other) | |
1214 | | |
1215 | o b0ee3d6f51bc C-Q (default) | |
1216 |/ | |
1217 o 55a6f1c01b48 C-Z (other) | |
1218 | | |
1219 o 866a66e18630 C-N (default) | |
1220 |\ | |
1221 +---o 6fd3090135df C-M (default) | |
1222 | | | |
1223 | o cac2cead0ff0 C-L (default) | |
1224 | | | |
1225 o | be705100c623 C-K (default) | |
1226 |\| | |
1227 o | d603e2c0cdd7 C-E (default) | |
1228 | | | |
1229 | o 59e76faf78bd C-D (default) | |
1230 | | | |
1231 | | o 89420bf00fae C-J (default) | |
1232 | | | | |
1233 | | | o b35ed749f288 C-I (my-second-test-branch) | |
1234 | | |/ | |
1235 | | o 75d69cba5402 C-G (default) | |
1236 | | | | |
1237 | | | o 833be552cfe6 C-H (my-first-test-branch) | |
1238 | | |/ | |
1239 | | o d9e379a8c432 C-F (default) | |
1240 | | | | |
1241 +---o 51c544a58128 C-C (default) | |
1242 | | | |
1243 | o a9149a1428e2 C-B (default) | |
1244 | | | |
1245 o | 98217d5a1659 C-A (default) | |
1246 |/ | |
1247 o 842e2fac6304 C-ROOT (default) | |
1248 |