tests/test-evolve.t
changeset 1370 0799c5831a3d
parent 1364 f00d91365ab9
child 1397 35f2f54b557c
equal deleted inserted replaced
1369:4ed67cce8c23 1370:0799c5831a3d
  1052   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1052   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1053   $ echo "hello" > j4
  1053   $ echo "hello" > j4
  1054   $ hg add j4
  1054   $ hg add j4
  1055   $ hg amend
  1055   $ hg amend
  1056   2 new unstable changesets
  1056   2 new unstable changesets
  1057   $ hg log -G
  1057   $ glog -r "18::"
  1058   @  25	: add j1 - test
  1058   @  25:4c0bc042ef3b@default(draft) add j1
  1059   |
  1059   |
  1060   | o  23	: add j3 - test
  1060   | o  23:c70048fd3350@default(draft) add j3
  1061   | |
  1061   | |
  1062   | o  22	: add j2 - test
  1062   | o  22:714e60ca57b7@default(draft) add j2
  1063   | |
  1063   | |
  1064   | x  21	: add j1 - test
  1064   | x  21:b430835af718@default(draft) add j1
  1065   |/
  1065   |/
  1066   | o  20	: add gh - test
  1066   | o  20:db3d894869b0@default(draft) add gh
  1067   | |
  1067   | |
  1068   o |  19	: add gg - test
  1068   o |  19:10ffdd7e3cc9@default(draft) add gg
  1069   |/
  1069   |/
  1070   o  18	: a3 - test
  1070   o  18:0bb66d4c1968@default(draft) a3
  1071   |
  1071   |
  1072   o  13	: bumped update to f37ed7a60f43: - test
       
  1073   |
       
  1074   o  11	: a2 - test
       
  1075   |
       
  1076   o  10	testbookmark: a1__ - test
       
  1077   |
       
  1078   o  0	: a0 - test
       
  1079   
       
  1080 
  1072 
  1081   $ hg evolve --rev 23
  1073   $ hg evolve --rev 23
  1082   cannot solve instability of c70048fd3350, skipping
  1074   cannot solve instability of c70048fd3350, skipping
  1083 
  1075 
  1084 evolve --rev reordering
       
  1085 -----------------------
       
  1086 
       
  1087 evolve --rev reorders the rev to solve instability, trivial case 2 revs wrong order
       
  1088 
       
  1089   $ hg evolve --rev '23 + 22'
       
  1090   move:[22] add j2
       
  1091   atop:[25] add j1
       
  1092   move:[23] add j3
       
  1093   atop:[26] add j2
       
  1094   working directory is now at 928e4c317356
       
  1095 
       
  1096 Cleanup to make the tree cleaner
       
  1097 
       
  1098   $ hg prune 20
       
  1099   1 changesets pruned
       
  1100   $ hg prune 26::
       
  1101   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
       
  1102   working directory now at 4c0bc042ef3b
       
  1103   2 changesets pruned
       
  1104 
       
  1105 evolve --rev reorders the rev to solve instability. Harder case, obsolescence
       
  1106 accross three stacks in growing rev numbers. 
       
  1107   $ hg up -C 25
       
  1108   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
  1109   $ mkstack 25 s1_ s2_ s3_ >/dev/null
       
  1110   $ mkstack 25 s1prime s2prime >/dev/null
       
  1111   $ mkstack 25 s1second >/dev/null
       
  1112   $ hg prune `shaof s1_` -s `shaof s1prime`
       
  1113   1 changesets pruned
       
  1114   2 new unstable changesets
       
  1115   $ hg prune `shaof s1prime` -s `shaof s1second`
       
  1116   1 changesets pruned
       
  1117   1 new unstable changesets
       
  1118   $ hg prune `shaof s2_` -s `shaof s2prime`
       
  1119   1 changesets pruned
       
  1120 
       
  1121   $ glog -r "25::"
       
  1122   @  33:17b5b6ab3f43@default(draft) add s1second
       
  1123   |
       
  1124   | o  32:d694d85de729@default(draft) add s2prime
       
  1125   | |
       
  1126   | x  31:1ae988394dc5@default(draft) add s1prime
       
  1127   |/
       
  1128   | o  30:819245647e79@default(draft) add s3_
       
  1129   | |
       
  1130   | x  29:07a5fc5c1502@default(draft) add s2_
       
  1131   | |
       
  1132   | x  28:5ccaf4765b80@default(draft) add s1_
       
  1133   |/
       
  1134   o  25:4c0bc042ef3b@default(draft) add j1
       
  1135   |
       
  1136 
       
  1137   $ hg evolve --rev "25::"
       
  1138   move:[32] add s2prime
       
  1139   atop:[33] add s1second
       
  1140   move:[30] add s3_
       
  1141   atop:[34] add s2prime
       
  1142   working directory is now at dc79646e43b4
       
  1143   $ glog -r "25::"
       
  1144   @  35:dc79646e43b4@default(draft) add s3_
       
  1145   |
       
  1146   o  34:96f3ff6b7106@default(draft) add s2prime
       
  1147   |
       
  1148   o  33:17b5b6ab3f43@default(draft) add s1second
       
  1149   |
       
  1150   o  25:4c0bc042ef3b@default(draft) add j1
       
  1151   |
       
  1152 
       
  1153   $ hg prune 33::
       
  1154   0 files updated, 0 files merged, 3 files removed, 0 files unresolved
       
  1155   working directory now at 4c0bc042ef3b
       
  1156   3 changesets pruned
       
  1157 
       
  1158 Evolve --rev more complex case: two sets of stacks one with prune an no successor, the other one
       
  1159 partially solvable
       
  1160 
       
  1161 First set of stack:
       
  1162   $ mkstack 25 c1_ c2_ c3_ c4_ >/dev/null
       
  1163   $ mkstack 25 c1prime c2prime >/dev/null
       
  1164   $ mkstack 25 c1second >/dev/null
       
  1165   $ hg prune `shaof c1_` -s `shaof c1prime`
       
  1166   1 changesets pruned
       
  1167   3 new unstable changesets
       
  1168   $ hg prune `shaof c2_` -s `shaof c2prime`
       
  1169   1 changesets pruned
       
  1170   $ hg prune `shaof c1prime` -s `shaof c1second`
       
  1171   1 changesets pruned
       
  1172   1 new unstable changesets
       
  1173 
       
  1174 Second set of stack with no successor for b2_:
       
  1175   $ mkstack 25 b1_ b2_ b3_ b4_ >/dev/null
       
  1176   $ mkstack 25 b1prime b3prime >/dev/null
       
  1177   $ hg prune `shaof b1_` -s `shaof b1prime`
       
  1178   1 changesets pruned
       
  1179   3 new unstable changesets
       
  1180   $ hg prune `shaof b3_` -s `shaof b3prime`
       
  1181   1 changesets pruned
       
  1182   $ hg prune `shaof b2_`
       
  1183   1 changesets pruned
       
  1184 
       
  1185   $ glog -r "25::"
       
  1186   @  48:2b5cbe59aeca@default(draft) add b3prime
       
  1187   |
       
  1188   o  47:aa4f5bf8925e@default(draft) add b1prime
       
  1189   |
       
  1190   | o  46:26b828ec5bcf@default(draft) add b4_
       
  1191   | |
       
  1192   | x  45:4f07e8c054ba@default(draft) add b3_
       
  1193   | |
       
  1194   | x  44:3973f60bfa8c@default(draft) add b2_
       
  1195   | |
       
  1196   | x  43:cddd50881a87@default(draft) add b1_
       
  1197   |/
       
  1198   | o  42:4a34f6744d4b@default(draft) add c1second
       
  1199   |/
       
  1200   | o  41:1a00113a0d9a@default(draft) add c2prime
       
  1201   | |
       
  1202   | x  40:c19e337376fa@default(draft) add c1prime
       
  1203   |/
       
  1204   | o  39:68e72c885d18@default(draft) add c4_
       
  1205   | |
       
  1206   | o  38:28172de7eb73@default(draft) add c3_
       
  1207   | |
       
  1208   | x  37:e2c8f75d4ecc@default(draft) add c2_
       
  1209   | |
       
  1210   | x  36:4ce6da951588@default(draft) add c1_
       
  1211   |/
       
  1212   o  25:4c0bc042ef3b@default(draft) add j1
       
  1213   |
       
  1214 
       
  1215 Solve the full second stack and only part of the first one
       
  1216   $ echo "(25::) - $(shaof c3_)"
       
  1217   (25::) - 28172de7eb73578cf665e868a265caf2a2655c66
       
  1218   $ hg evolve --rev "(25::) - $(shaof c3_)"
       
  1219   cannot solve instability of 68e72c885d18, skipping
       
  1220   move:[41] add c2prime
       
  1221   atop:[42] add c1second
       
  1222   move:[46] add b4_
       
  1223   atop:[48] add b3prime
       
  1224   working directory is now at e543e9e71376
       
  1225 
       
  1226 Cleanup
       
  1227   $ hg evolve --rev "(25::)"
       
  1228   move:[38] add c3_
       
  1229   atop:[49] add c2prime
       
  1230   move:[39] add c4_
       
  1231   atop:[51] add c3_
       
  1232   working directory is now at 456e647fbe11
       
  1233   $ glog -r "25::"
       
  1234   @  52:456e647fbe11@default(draft) add c4_
       
  1235   |
       
  1236   o  51:07aaa06da467@default(draft) add c3_
       
  1237   |
       
  1238   | o  50:e543e9e71376@default(draft) add b4_
       
  1239   | |
       
  1240   o |  49:9379d7237601@default(draft) add c2prime
       
  1241   | |
       
  1242   | o  48:2b5cbe59aeca@default(draft) add b3prime
       
  1243   | |
       
  1244   | o  47:aa4f5bf8925e@default(draft) add b1prime
       
  1245   | |
       
  1246   o |  42:4a34f6744d4b@default(draft) add c1second
       
  1247   |/
       
  1248   o  25:4c0bc042ef3b@default(draft) add j1
       
  1249   |
       
  1250 
       
  1251 Check that uncommit respects the allowunstable option
  1076 Check that uncommit respects the allowunstable option
  1252 With only createmarkers we can only uncommit on a head
  1077 With only createmarkers we can only uncommit on a head
  1253   $ hg up 456e647fbe11
       
  1254   0 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
  1255   $ cat >> $HGRCPATH <<EOF
  1078   $ cat >> $HGRCPATH <<EOF
  1256   > [experimental]
  1079   > [experimental]
  1257   > evolution=createmarkers, allnewcommands
  1080   > evolution=createmarkers, allnewcommands
  1258   > EOF
  1081   > EOF
  1259   $ glog -r "25::"
  1082   $ hg up 4c0bc042ef3b^
  1260   @  52:456e647fbe11@default(draft) add c4_
  1083   0 files updated, 0 files merged, 2 files removed, 0 files unresolved
  1261   |
       
  1262   o  51:07aaa06da467@default(draft) add c3_
       
  1263   |
       
  1264   | o  50:e543e9e71376@default(draft) add b4_
       
  1265   | |
       
  1266   o |  49:9379d7237601@default(draft) add c2prime
       
  1267   | |
       
  1268   | o  48:2b5cbe59aeca@default(draft) add b3prime
       
  1269   | |
       
  1270   | o  47:aa4f5bf8925e@default(draft) add b1prime
       
  1271   | |
       
  1272   o |  42:4a34f6744d4b@default(draft) add c1second
       
  1273   |/
       
  1274   o  25:4c0bc042ef3b@default(draft) add j1
       
  1275   |
       
  1276   $ hg up .^
       
  1277   0 files updated, 0 files merged, 1 files removed, 0 files unresolved
       
  1278   $ hg uncommit --all
  1084   $ hg uncommit --all
  1279   abort: cannot uncommit in the middle of a stack
  1085   abort: cannot uncommit in the middle of a stack
  1280   [255]
  1086   [255]
  1281   $ hg up 456e647fbe11
  1087   $ hg up 4c0bc042ef3b
  1282   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1088   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
  1283   $ hg uncommit --all
  1089   $ hg uncommit --all
  1284   new changeset is empty
  1090   new changeset is empty
  1285   (use "hg prune ." to remove it)
  1091   (use "hg prune ." to remove it)
  1286   $ hg up e543e9e71376 -C
  1092   $ glog -r "18::"
  1287   3 files updated, 0 files merged, 3 files removed, 0 files unresolved
  1093   @  26:04b32348803e@default(draft) add j1
  1288   $ glog -r "25::"
  1094   |
  1289   o  53:897e7966b9ef@default(draft) add c4_
  1095   | o  23:c70048fd3350@default(draft) add j3
  1290   |
  1096   | |
  1291   o  51:07aaa06da467@default(draft) add c3_
  1097   | o  22:714e60ca57b7@default(draft) add j2
  1292   |
  1098   | |
  1293   | @  50:e543e9e71376@default(draft) add b4_
  1099   | x  21:b430835af718@default(draft) add j1
  1294   | |
  1100   |/
  1295   o |  49:9379d7237601@default(draft) add c2prime
  1101   | o  20:db3d894869b0@default(draft) add gh
  1296   | |
  1102   | |
  1297   | o  48:2b5cbe59aeca@default(draft) add b3prime
  1103   o |  19:10ffdd7e3cc9@default(draft) add gg
  1298   | |
  1104   |/
  1299   | o  47:aa4f5bf8925e@default(draft) add b1prime
  1105   o  18:0bb66d4c1968@default(draft) a3
  1300   | |
  1106   |
  1301   o |  42:4a34f6744d4b@default(draft) add c1second
       
  1302   |/
       
  1303   o  25:4c0bc042ef3b@default(draft) add j1
       
  1304   |