Add "git repack" command that does an incremental pack
[git.git] / git-repack-script
1 #!/bin/sh
2 : ${GIT_DIR=.git}
3 : ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
4 packname=$(date +"pack-%s")
5 if [ -f "$GIT_OBJECT_DIRECTORY/pack/$packname.idx" ]; then
6         echo Pack $packname already exists
7         exit 1
8 fi
9 rm -f $packname.idx $packname.pack
10 git-rev-list --unpacked --objects $(git-rev-parse --all) |
11         git-pack-objects --non-empty --incremental $packname ||
12         exit 1
13
14 if [ ! -f $packname.idx ]; then
15         echo Nothing new to pack
16         exit 0
17 fi
18 mv $packname.idx $packname.pack "$GIT_OBJECT_DIRECTORY/pack/"