tests/test-largefiles-misc.t
branchstable
changeset 35167 9fb2b0b41bec
parent 34661 eb586ed5d8ce
child 35168 b175e54c1103
equal deleted inserted replaced
35166:ba6324ee49e9 35167:9fb2b0b41bec
   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