threads / patch / 8307

patchEnsure git-repack -a -d --max-pack-size=N deletes correct packs

Subject: [PATCH] Ensure git-repack -a -d --max-pack-size=N deletes correct packs

## tl;dr

One message between May 25, 2007 and May 25, 2007. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Dana How· May 25, 2007, 02:06 UTC · lore

The packfile portion of the "remove redundant" code near the bottom of git-repack.sh is broken when pack splitting occurs. Particularly since this is the only place where we automatically delete packfiles, make sure it works properly for all cases, old or new.

This is based on "next".
Signed-off-by: Dana L. How <danahow@gmail.com>
---
 git-repack.sh |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
Show changes to git-repack.sh +3 −2
diff --git a/git-repack.sh b/git-repack.sh
index 4ea6e5b..0591bd7 100755
--- a/git-repack.sh
+++ b/git-repack.sh
@@ -69,6 +69,7 @@ if [ -z "$names" ]; then
 	echo Nothing new to pack.
 fi
 for name in $names ; do
+	fullbases="$fullbases pack-$name"
 	chmod a-w "$PACKTMP-$name.pack"
 	chmod a-w "$PACKTMP-$name.idx"
 	if test "$quiet" != '-q'; then
@@ -105,8 +106,8 @@ then
 		( cd "$PACKDIR" &&
 		  for e in $existing
 		  do
-			case "$e" in
-			pack-$name) ;;
+			case " $fullbases " in
+			*\ $e\ *) ;;
 			*)	rm -f "$e.pack" "$e.idx" "$e.keep" ;;
 			esac
 		  done
-- 
1.5.2.762.gd8c6-dirty

← back to recent threads