summaryrefslogtreecommitdiff
path: root/git-repack-script
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-07-08 10:57:21 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-07-08 10:57:21 -0700
commitb33e9666082ce692e64ccfd688dc2a5075566f75 (patch)
treec4c5637417a6e7c3e4c7d38b82e73cf4ef1c09fa /git-repack-script
parentacb46f8769dd0031a98a284e06ebc5a09b151bfd (diff)
downloadgit-b33e9666082ce692e64ccfd688dc2a5075566f75.tar.gz
Add "git-sh-setup-script" for common git shell script setup
It sets up the normal git environment variables and a few helper functions (currently just "die()"), and returns ok if it all looks like a git archive. So use it something like . git-sh-setup-script || die "Not a git archive" to make the rest of the git scripts more careful and readable.
Diffstat (limited to 'git-repack-script')
-rw-r--r--git-repack-script7
1 files changed, 4 insertions, 3 deletions
diff --git a/git-repack-script b/git-repack-script
index 92281c27fd..15b7fd6a15 100644
--- a/git-repack-script
+++ b/git-repack-script
@@ -1,6 +1,6 @@
#!/bin/sh
-: ${GIT_DIR=.git}
-: ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
+. git-sh-setup-script || die "Not a git archive"
+
rm -f .tmp-pack-*
packname=$(git-rev-list --unpacked --objects $(git-rev-parse --all) |
git-pack-objects --non-empty --incremental .tmp-pack) ||
@@ -9,5 +9,6 @@ if [ -z "$packname" ]; then
echo Nothing new to pack
exit 0
fi
-mv .tmp-pack-$packname.pack "$GIT_OBJECT_DIRECTORY/pack/pack-$packname.pack"
+mkdir -p "$GIT_OBJECT_DIRECTORY/pack" &&
+mv .tmp-pack-$packname.pack "$GIT_OBJECT_DIRECTORY/pack/pack-$packname.pack" &&
mv .tmp-pack-$packname.idx "$GIT_OBJECT_DIRECTORY/pack/pack-$packname.idx"