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:
parent
64560374cc
commit
f7aac2eac9
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user