]> git.scottworley.com Git - annex-ec/commitdiff
Drop faster: batch drops by volume
authorScott Worley <scottworley@scottworley.com>
Wed, 18 Mar 2026 09:05:54 +0000 (02:05 -0700)
committerScott Worley <scottworley@scottworley.com>
Wed, 18 Mar 2026 09:05:54 +0000 (02:05 -0700)
annex-ec

index a87636fb65de69e5af292cc0c761a6fbdc40c65d..d569fcc301eaae92e0605d618db3a116702b4d45 100755 (executable)
--- a/annex-ec
+++ b/annex-ec
@@ -111,20 +111,25 @@ for f in ec/"$name.vol"*;do
   i=$((i+1))
 done
 
   i=$((i+1))
 done
 
-i=0
 for f;do
 for f;do
-  target_volume="${volumes[i]}"
   echo "${f// /[[:space:]]} annex.numcopies=1" >> .gitattributes
   echo "${f// /[[:space:]]} annex.numcopies=1" >> .gitattributes
-  for volume in here "${volumes[@]}";do
+done
+
+for volume in here "${volumes[@]}";do
+  i=0
+  to_drop=()
+  for f;do
+    target_volume="${volumes[i]}"
     if [[ "$volume" != "$target_volume" ]]; then
     if [[ "$volume" != "$target_volume" ]]; then
-      if [[ "$volume" == here ]];then
-        git annex drop "$f"
-      else
-        git annex drop --from "$volume" "$f"
-      fi
+      to_drop+=( "$f" )
     fi
     fi
+    i=$((i+1))
   done
   done
-  i=$((i+1))
+  if [[ "$volume" == here ]];then
+    git annex drop "${to_drop[@]}"
+  else
+    git annex drop --from "$volume" "${to_drop[@]}"
+  fi
 done
 git add .gitattributes
 
 done
 git add .gitattributes