388 getting changed largefiles |
388 getting changed largefiles |
389 1 largefiles updated, 0 removed |
389 1 largefiles updated, 0 removed |
390 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
390 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
391 $ hg status -S |
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 $ hg forget -v subrepo/large.txt |
395 $ hg forget -v subrepo/large.txt |
394 removing subrepo/large.txt (glob) |
396 removing subrepo/large.txt (glob) |
|
397 $ cat subrepo/large.txt |
|
398 pre-forget content |
395 |
399 |
396 Test reverting a forgotten file |
400 Test reverting a forgotten file |
397 $ hg revert -R subrepo subrepo/large.txt |
401 $ hg revert -R subrepo subrepo/large.txt |
398 $ hg status -SA subrepo/large.txt |
402 $ hg status -SA subrepo/large.txt |
399 C subrepo/large.txt |
403 C subrepo/large.txt |
1058 > [extensions] |
1062 > [extensions] |
1059 > # enable locally |
1063 > # enable locally |
1060 > largefiles= |
1064 > largefiles= |
1061 > EOF |
1065 > EOF |
1062 $ echo large > subrepo-root/large |
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 $ hg clone -q no-largefiles subrepo-root/no-largefiles |
1070 $ hg clone -q no-largefiles subrepo-root/no-largefiles |
1065 $ cat > subrepo-root/.hgsub <<EOF |
1071 $ cat > subrepo-root/.hgsub <<EOF |
1066 > no-largefiles = no-largefiles |
1072 > no-largefiles = no-largefiles |
1067 > EOF |
1073 > EOF |
1068 $ hg -R subrepo-root add subrepo-root/.hgsub |
1074 $ hg -R subrepo-root add subrepo-root/.hgsub |
1069 $ hg -R subrepo-root commit -m '#0' |
1075 $ hg -R subrepo-root commit -m '#0' |
1070 Invoking status precommit hook |
1076 Invoking status precommit hook |
1071 A .hgsub |
1077 A .hgsub |
|
1078 A dir/subdir/large.bin |
1072 A large |
1079 A large |
1073 ? .hgsubstate |
1080 ? .hgsubstate |
1074 $ echo dirty >> subrepo-root/large |
1081 $ echo dirty >> subrepo-root/large |
1075 $ echo dirty >> subrepo-root/no-largefiles/normal1 |
1082 $ echo dirty >> subrepo-root/no-largefiles/normal1 |
1076 $ hg -R subrepo-root status -S |
1083 $ hg -R subrepo-root status -S |
1083 $ hg -R subrepo-root revert --all |
1090 $ hg -R subrepo-root revert --all |
1084 reverting subrepo-root/.hglf/large (glob) |
1091 reverting subrepo-root/.hglf/large (glob) |
1085 reverting subrepo no-largefiles |
1092 reverting subrepo no-largefiles |
1086 reverting subrepo-root/no-largefiles/normal1 (glob) |
1093 reverting subrepo-root/no-largefiles/normal1 (glob) |
1087 |
1094 |
1088 $ cd .. |
1095 Move (and then undo) a directory move with only largefiles. |
1089 |
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 |
|
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 Test "pull --rebase" when rebase is enabled before largefiles (issue3861) |
1253 Test "pull --rebase" when rebase is enabled before largefiles (issue3861) |
1092 ========================================================================= |
1254 ========================================================================= |
1093 |
1255 |
1094 $ hg showconfig extensions | grep largefiles |
1256 $ hg showconfig extensions | grep largefiles |