X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;ds=sidebyside;f=git-repack-script;h=1c9a6315dd63dd27462aa7ca10880f7d3cb663c2;hb=ff27adf3dae36695f1af1b6f0e01ec6738ce0249;hp=92281c27fdda5f3b3dd0b0dfc01a4cb3182a686a;hpb=5f3de58ff85c49620ae2a1722d8d4d37c881a054;p=git.git diff --git a/git-repack-script b/git-repack-script old mode 100644 new mode 100755 index 92281c27..1c9a6315 --- a/git-repack-script +++ b/git-repack-script @@ -1,6 +1,20 @@ #!/bin/sh -: ${GIT_DIR=.git} -: ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"} +# +# Copyright (c) 2005 Linus Torvalds +# + +. git-sh-setup-script || die "Not a git archive" + +no_update_info= +while case "$#" in 0) break ;; esac +do + case "$1" in + -n) no_update_info=t ;; + *) break ;; + esac + shift +done + rm -f .tmp-pack-* packname=$(git-rev-list --unpacked --objects $(git-rev-parse --all) | git-pack-objects --non-empty --incremental .tmp-pack) || @@ -9,5 +23,11 @@ if [ -z "$packname" ]; then echo Nothing new to pack exit 0 fi -mv .tmp-pack-$packname.pack "$GIT_OBJECT_DIRECTORY/pack/pack-$packname.pack" -mv .tmp-pack-$packname.idx "$GIT_OBJECT_DIRECTORY/pack/pack-$packname.idx" + +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" && +case "$no_update_info" in +t) : ;; +*) git-update-server-info ;; +esac