summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 6456037)
raw | patch | inline | side by side (parent: 6456037)
author | Linus Torvalds <torvalds@osdl.org> | |
Thu, 13 Oct 2005 22:38:29 +0000 (15:38 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Thu, 13 Oct 2005 22:38:29 +0000 (15:38 -0700) |
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>
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>
git-repack.sh | patch | blob | history |
diff --git a/git-repack.sh b/git-repack.sh
index b395d0ef34758f2e3e3129a5131832e932ab7875..49547a77c75356fb12dc3c9451a8983e06f81240 100755 (executable)
--- a/git-repack.sh
+++ b/git-repack.sh
. 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
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