##// END OF EJS Templates
test-largefiles: demonstrate problems with renaming and reverting a directory...
Matt Harbison -
r35174:9fb2b0b4 stable
parent child Browse files
Show More
@@ -972,6 +972,7 b' test import with similarity and git and '
972 972 adding b
973 973 recording removal of a as rename to b (88% similar)
974 974 applied to working directory
975 $ echo 'mod b' > b
975 976 $ hg st -C
976 977 A b
977 978 a
@@ -979,6 +980,8 b' test import with similarity and git and '
979 980 $ hg revert -a
980 981 undeleting a
981 982 forgetting b
983 $ cat b
984 mod b
982 985 $ rm b
983 986 $ hg import --no-commit -v -s 100 ../rename.diff -p2
984 987 applying ../rename.diff
@@ -390,8 +390,12 b' Test update with subrepos.'
390 390 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
391 391 $ hg status -S
392 392
393 Forget doesn't change the content of the file
394 $ echo 'pre-forget content' > subrepo/large.txt
393 395 $ hg forget -v subrepo/large.txt
394 396 removing subrepo/large.txt (glob)
397 $ cat subrepo/large.txt
398 pre-forget content
395 399
396 400 Test reverting a forgotten file
397 401 $ hg revert -R subrepo subrepo/large.txt
@@ -1060,7 +1064,9 b' largefiles (issue4547)'
1060 1064 > largefiles=
1061 1065 > EOF
1062 1066 $ echo large > subrepo-root/large
1063 $ hg -R subrepo-root add --large subrepo-root/large
1067 $ mkdir -p subrepo-root/dir/subdir
1068 $ echo large2 > subrepo-root/dir/subdir/large.bin
1069 $ hg -R subrepo-root add --large subrepo-root/large subrepo-root/dir/subdir/large.bin
1064 1070 $ hg clone -q no-largefiles subrepo-root/no-largefiles
1065 1071 $ cat > subrepo-root/.hgsub <<EOF
1066 1072 > no-largefiles = no-largefiles
@@ -1069,6 +1075,7 b' largefiles (issue4547)'
1069 1075 $ hg -R subrepo-root commit -m '#0'
1070 1076 Invoking status precommit hook
1071 1077 A .hgsub
1078 A dir/subdir/large.bin
1072 1079 A large
1073 1080 ? .hgsubstate
1074 1081 $ echo dirty >> subrepo-root/large
@@ -1085,8 +1092,163 b' largefiles (issue4547)'
1085 1092 reverting subrepo no-largefiles
1086 1093 reverting subrepo-root/no-largefiles/normal1 (glob)
1087 1094
1088 $ cd ..
1095 Move (and then undo) a directory move with only largefiles.
1096
1097 $ listtree() {
1098 > find $@ \( -type d -printf "%p/\n" -o -type f -printf "%p\n" \) \
1099 > -a -name .hg -prune | sort
1100 > }
1101
1102 $ cd subrepo-root
1103 $ listtree .hglf dir* large*
1104 .hglf/
1105 .hglf/dir/
1106 .hglf/dir/subdir/
1107 .hglf/dir/subdir/large.bin
1108 .hglf/large
1109 dir/
1110 dir/subdir/
1111 dir/subdir/large.bin
1112 large
1113 large.orig
1114
1115 $ hg mv dir/subdir dir/subdir2
1116 moving .hglf/dir/subdir/large.bin to .hglf/dir/subdir2/large.bin (glob)
1117
1118 $ listtree .hglf dir* large*
1119 .hglf/
1120 .hglf/dir/
1121 .hglf/dir/subdir2/
1122 .hglf/dir/subdir2/large.bin
1123 .hglf/large
1124 dir/
1125 dir/subdir2/
1126 dir/subdir2/large.bin
1127 large
1128 large.orig
1129 $ hg status -C
1130 A dir/subdir2/large.bin
1131 dir/subdir/large.bin
1132 R dir/subdir/large.bin
1133 ? large.orig
1134
1135 $ echo 'modified' > dir/subdir2/large.bin
1136 $ hg status -C
1137 A dir/subdir2/large.bin
1138 dir/subdir/large.bin
1139 R dir/subdir/large.bin
1140 ? large.orig
1141
1142 $ hg revert --all
1143 undeleting .hglf/dir/subdir/large.bin (glob)
1144 forgetting .hglf/dir/subdir2/large.bin (glob)
1145 reverting subrepo no-largefiles
1146
1147 $ hg status -C
1148 ? dir/subdir2/large.bin
1149 ? large.orig
1150
1151 BUG: The content of the forgotten file shouldn't be clobbered
1152
1153 $ cat dir/subdir2/large.bin
1154 large2
1155
1156 BUG: the standin for subdir2 should be deleted, not just dropped
1157
1158 $ listtree .hglf dir* large*
1159 .hglf/
1160 .hglf/dir/
1161 .hglf/dir/subdir/
1162 .hglf/dir/subdir/large.bin
1163 .hglf/dir/subdir2/
1164 .hglf/dir/subdir2/large.bin
1165 .hglf/large
1166 dir/
1167 dir/subdir/
1168 dir/subdir/large.bin
1169 dir/subdir2/
1170 dir/subdir2/large.bin
1171 large
1172 large.orig
1089 1173
1174 $ rm -r dir/subdir2
1175
1176 BUG: subdir should not be in the destination. This is caused by the directory
1177 existing under .hglf/.
1178 $ hg mv dir/subdir dir/subdir2
1179 moving .hglf/dir/subdir/large.bin to .hglf/dir/subdir2/subdir/large.bin (glob)
1180
1181 $ hg status -C
1182 A dir/subdir2/subdir/large.bin
1183 dir/subdir/large.bin
1184 R dir/subdir/large.bin
1185 ? large.orig
1186
1187 $ listtree .hglf dir* large*
1188 .hglf/
1189 .hglf/dir/
1190 .hglf/dir/subdir2/
1191 .hglf/dir/subdir2/large.bin
1192 .hglf/dir/subdir2/subdir/
1193 .hglf/dir/subdir2/subdir/large.bin
1194 .hglf/large
1195 dir/
1196 dir/subdir2/
1197 dir/subdir2/subdir/
1198 dir/subdir2/subdir/large.bin
1199 large
1200 large.orig
1201
1202 Start from scratch, and rename something other than the final path component.
1203
1204 $ hg up -qC .
1205 $ hg --config extensions.purge= purge
1206
1207 $ hg mv dir/subdir dir2/subdir
1208 moving .hglf/dir/subdir/large.bin to .hglf/dir2/subdir/large.bin (glob)
1209
1210 $ hg status -C
1211 A dir2/subdir/large.bin
1212 dir/subdir/large.bin
1213 R dir/subdir/large.bin
1214
1215 $ listtree .hglf dir* large*
1216 .hglf/
1217 .hglf/dir2/
1218 .hglf/dir2/subdir/
1219 .hglf/dir2/subdir/large.bin
1220 .hglf/large
1221 dir2/
1222 dir2/subdir/
1223 dir2/subdir/large.bin
1224 large
1225
1226 $ hg revert --all
1227 undeleting .hglf/dir/subdir/large.bin (glob)
1228 forgetting .hglf/dir2/subdir/large.bin (glob)
1229 reverting subrepo no-largefiles
1230
1231 $ hg status -C
1232 ? dir2/subdir/large.bin
1233
1234 $ listtree .hglf dir* large*
1235 .hglf/
1236 .hglf/dir/
1237 .hglf/dir/subdir/
1238 .hglf/dir/subdir/large.bin
1239 .hglf/dir2/
1240 .hglf/dir2/subdir/
1241 .hglf/dir2/subdir/large.bin
1242 .hglf/large
1243 dir/
1244 dir/subdir/
1245 dir/subdir/large.bin
1246 dir2/
1247 dir2/subdir/
1248 dir2/subdir/large.bin
1249 large
1250
1251 $ cd ../..
1090 1252
1091 1253 Test "pull --rebase" when rebase is enabled before largefiles (issue3861)
1092 1254 =========================================================================
General Comments 0
You need to be logged in to leave comments. Login now