# [PATCH] Remove all old packfiles when doing "git repack -a -d"

2 messages from 2005-11-18 to 2005-11-18. Participants: Lukas Sandström, Junio C Hamano.
Thread: https://gitlist.dev/t/2594

## Lukas Sandström, 2005-11-18 20:36

Subject: [PATCH] Remove all old packfiles when doing "git repack -a -d"
Message-ID: <437E3B3C.9000409@etek.chalmers.se>
URL: https://gitlist.dev/e/437E3B3C.9000409%40etek.chalmers.se

```
No point in running git-pack-redundant if we already know 
which packs are redundant.

Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>
---
This should be correct. I even tested it.


 git-repack.sh |   19 ++++++++++++++++---
 1 files changed, 16 insertions(+), 3 deletions(-)

applies-to: 8c987c24bed7f7a30f4e74b12e8acc2cc5eeea93
2f49d2a3a7cf0fc64edfad2febf986252392b667
diff --git a/git-repack.sh b/git-repack.sh
index e58fdd6..55a7b27 100755
--- a/git-repack.sh
+++ b/git-repack.sh
@@ -63,9 +63,22 @@ exit
 if test "$remove_redundant" = t
 then
 	sync
-	redundant=$(git-pack-redundant --all)
-	if test "$redundant" != "" ; then
-		echo $redundant | xargs rm
+	if test "$all_into_one" = t
+	then
+		cd "$PACKDIR"
+		existing=`find . -type f \( -name '*.pack' -o -name '*.idx' \) -print`
+		for e in $existing
+		do
+			case "$e" in
+			./pack-$name.pack | ./pack-$name.idx) ;;
+			*)      rm -f $e ;;
+			esac
+		done
+	else
+		redundant=$(git-pack-redundant --all)
+		if test "$redundant" != "" ; then
+			echo $redundant | xargs rm
+		fi
 	fi
 fi
 
---
0.99.9.GIT

```

## Junio C Hamano, 2005-11-18 21:15

Subject: Re: [PATCH] Remove all old packfiles when doing "git repack -a -d"
Message-ID: <7vek5dhd3c.fsf@assigned-by-dhcp.cox.net>
URL: https://gitlist.dev/e/7vek5dhd3c.fsf%40assigned-by-dhcp.cox.net
In-Reply-To: <437E3B3C.9000409@etek.chalmers.se>

```
Lukas Sandström <lukass@etek.chalmers.se> writes:

> No point in running git-pack-redundant if we already know 
> which packs are redundant.
>
> Signed-off-by: Lukas Sandström <lukass@etek.chalmers.se>

This makes sense and makes me feel safer somehow.  Thanks.

```
