Jeff Garzik [off-list ref] writes:
Junio C Hamano wrote:
quoted
- One important newcomer is git-pack-redundant...
IMHO git-prune-packed should prune redundant pack files...
Maybe not in git-prune-packed, but you are right. We should at
least do that in git-prune. Maybe with something like the patch
at the end?
quoted
Oh, and we will not be moving things out of /usr/bin/ during 1.0
timeframe.
:( bummer. I do like the elegance of having /usr/bin/git executing
stuff out of /usr/libexec/git.
Bummer here as well. This is not my first preference, but more
or less "all things considered...". I can go over cogito and
stgit with Pasky and Catalin and coordinate the transition, but
at the same time, everybody's existing scripts need to be
adjusted. As Linus said, we broke kernel.org snapshot scripts
number of times.
Also places we execute git-upload-pack and git-receive-pack over
an SSH connection need to be updated to execute 'git' with the
first parameter 'upload-pack' and 'receive-pack' to make sure it
would keep working with older or newer git on the other end.
After all that happens, we can start installing things in
/usr/lib/git/. During the transition, the C rewrite of git
wrapper posted by Andreas Ericsson might help, so I am planning
to merge it before 1.0, after deciding what the right word for
the "path to the rest of git executables" should be.
So let's say 1.0 will ship with all things in /usr/bin/, with
updated docs that explain the situation: (1) the dash form
'git-frotz' is being deprecated, and you are encouraged to spell
it as 'git frotz'; (2) if you want to use the dash form in your
scripts for performance reasons, you need to have something like
PATH="$(git --exec-path):$PATH" at the beginning of your script.
And after some time (say 2 months) we can switch.
I just do not want to wait that long before 1.0.
-- >8 -- cut here -- >8 --
[PATCH] git-prune: prune redundant packs.
---
diff --git a/git-prune.sh b/git-prune.sh
index ef31bd2..aa79807 100755
--- a/git-prune.sh
+++ b/git-prune.sh
@@ -27,3 +27,14 @@ sed -ne '/unreachable /{
}
git-prune-packed $dryrun
+
+redundant=$(git-pack-redundant --all)
+if test "" != "$redundant"
+then
+ if test "" = $dryrun
+ then
+ echo "$redundant" | xargs rm -f
+ else
+ echo rm -f "$redundant"
+ fi
+fi