From dca3957b8581ffd0faab135191bbee3029953bd2 Mon Sep 17 00:00:00 2001 From: Dana How Date: Thu, 24 May 2007 19:06:42 -0700 Subject: Ensure git-repack -a -d --max-pack-size=N deletes correct packs 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. Signed-off-by: Dana L. How Signed-off-by: Junio C Hamano --- git-repack.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'git-repack.sh') diff --git a/git-repack.sh b/git-repack.sh index 4ea6e5b9e5..8c32724be7 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 -- cgit v1.2.1