From: Dana How Date: Fri, 25 May 2007 02:06:42 +0000 (-0700) Subject: Ensure git-repack -a -d --max-pack-size=N deletes correct packs X-Git-Tag: v1.5.3-rc0~182^2 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=dca3957b8581ffd0faab135191bbee3029953bd2;p=git.git 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 --- diff --git a/git-repack.sh b/git-repack.sh index 4ea6e5b9e..8c32724be 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