aboutsummaryrefslogtreecommitdiff
path: root/git-repack-script
blob: ce35235b521b0802726bf0a9a69df131cfaecb7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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/"