Skip to content

Commit

Permalink
Add "git repack" command that does an incremental pack
Browse files Browse the repository at this point in the history
  • Loading branch information
Linus Torvalds committed Jul 3, 2005
1 parent 1c4a291 commit b2d4619
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ SCRIPTS=git git-apply-patch-script git-merge-one-file-script git-prune-script \
git-fetch-script git-status-script git-commit-script \
git-log-script git-shortlog git-cvsimport-script git-diff-script \
git-reset-script git-add-script git-checkout-script git-clone-script \
gitk git-cherry git-rebase-script git-relink-script
gitk git-cherry git-rebase-script git-relink-script git-repack-script

PROG= git-update-cache git-diff-files git-init-db git-write-tree \
git-read-tree git-commit-tree git-cat-file git-fsck-cache \
Expand Down
18 changes: 18 additions & 0 deletions git-repack-script
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/sh
: ${GIT_DIR=.git}
: ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
packname=$(date +"pack-%s")
if [ -f "$GIT_OBJECT_DIRECTORY/pack/$packname.idx" ]; then
echo Pack $packname already exists
exit 1
fi
rm -f $packname.idx $packname.pack
git-rev-list --unpacked --objects $(git-rev-parse --all) |
git-pack-objects --non-empty --incremental $packname ||
exit 1

if [ ! -f $packname.idx ]; then
echo Nothing new to pack
exit 0
fi
mv $packname.idx $packname.pack "$GIT_OBJECT_DIRECTORY/pack/"

0 comments on commit b2d4619

Please sign in to comment.