From: Frank Sorenson <frank@tuxrocks.com>
To: Git Mailing List <git@vger.kernel.org>, Junio C Hamano <junkio@cox.net>
Subject: [PATCH] git-repack-script: Add option to repack all objects
Date: Sat, 27 Aug 2005 02:41:11 -0600 [thread overview]
Message-ID: <43102727.2050206@tuxrocks.com> (raw)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
This patch adds an option to git-repack-script to repack all objects,
including both packed and unpacked. This allows a full repack of
a git archive (current cogito packs from 39MB to 4.5MB, and git packs
from 4.4MB to 3.8MB).
Signed-off-by: Frank Sorenson <frank@tuxrocks.com>
diff --git a/git-repack-script b/git-repack-script
- --- a/git-repack-script
+++ b/git-repack-script
@@ -5,10 +5,12 @@
. git-sh-setup-script || die "Not a git archive"
+repack_all=
no_update_info=
while case "$#" in 0) break ;; esac
do
case "$1" in
+ --all) repack_all=t ;;
-n) no_update_info=t ;;
*) break ;;
esac
@@ -16,13 +18,22 @@ do
done
rm -f .tmp-pack-*
- -packname=$(git-rev-list --unpacked --objects $(git-rev-parse --all) |
- - git-pack-objects --non-empty --incremental .tmp-pack) ||
- - exit 1
- -if [ -z "$packname" ]; then
- - echo Nothing new to pack
- - exit 0
- -fi
+case "$repack_all" in
+t) packname=$(git-rev-list --objects $(git-rev-parse --all) |
+ git-pack-objects .tmp-pack) ||
+ exit 1
+ find "$GIT_OBJECT_DIRECTORY/"?? -type f | xargs rm -f
+ find "$GIT_OBJECT_DIRECTORY/pack" -type f | xargs rm -f
+ ;;
+*) packname=$(git-rev-list --unpacked --objects $(git-rev-parse --all) |
+ git-pack-objects --non-empty --incremental .tmp-pack) ||
+ exit 1
+ if [ -z "$packname" ]; then
+ echo Nothing new to pack
+ exit 0
+ fi
+ ;;
+esac
mkdir -p "$GIT_OBJECT_DIRECTORY/pack" &&
mv .tmp-pack-$packname.pack "$GIT_OBJECT_DIRECTORY/pack/pack-$packname.pack" &&
Frank
- --
Frank Sorenson - KD7TZK
Systems Manager, Computer Science Department
Brigham Young University
frank@tuxrocks.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFDECcnaI0dwg4A47wRAsigAKDEItbKTKAeO+PO8VV0dtMvFl0qfgCffyDc
hL0nAUB0HxeDlDoh9fv2m4o=
=r4gM
-----END PGP SIGNATURE-----
next reply other threads:[~2005-08-27 8:41 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-27 8:41 Frank Sorenson [this message]
2005-08-28 21:06 ` [PATCH] git-repack-script: Add option to repack all objects Junio C Hamano
2005-08-29 7:41 ` Frank Sorenson
2005-08-29 16:48 ` Junio C Hamano
2005-08-29 17:34 ` Junio C Hamano
2005-08-29 18:29 ` A Large Angry SCM
2005-08-29 18:44 ` Junio C Hamano
2005-08-29 18:57 ` A Large Angry SCM
2005-08-29 19:44 ` Junio C Hamano
2005-08-29 18:59 ` Frank Sorenson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=43102727.2050206@tuxrocks.com \
--to=frank@tuxrocks.com \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).