Add "-l" flag for repacking only local packs

This uses the new "--local" flag to git-pack-objects.  It currently only
makes a difference together with "-a", since a normal incremental repack
won't pack any packed objects at all (whether local or remote).

Eventually, it might end up skipping any objects that aren't local to
the current object directory, but for now it only knows to skip packed
objects.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Linus Torvalds 2005-10-13 15:38:29 -07:00 committed by Junio C Hamano
parent 64560374cc
commit f7aac2eac9

View file

@ -5,13 +5,14 @@
. git-sh-setup || die "Not a git archive"
no_update_info= all_into_one= remove_redundant=
no_update_info= all_into_one= remove_redundant= local=
while case "$#" in 0) break ;; esac
do
case "$1" in
-n) no_update_info=t ;;
-a) all_into_one=t ;;
-d) remove_redandant=t ;;
-l) local=t ;;
*) break ;;
esac
shift
@ -37,6 +38,9 @@ case ",$all_into_one," in
find . -type f \( -name '*.pack' -o -name '*.idx' \) -print`
;;
esac
if [ "$local" ]; then
pack_objects="$pack_objects --local"
fi
name=$(git-rev-list --objects $rev_list $(git-rev-parse $rev_parse) |
git-pack-objects --non-empty $pack_objects .tmp-pack) ||
exit 1