repack: don't repack local objects in packs with .keep file

If the user created a .keep file for a local pack, then it can be inferred
that the user does not want those objects repacked.

This fixes the repack bug tested by t7700.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Brandon Casey 2008-11-12 11:59:05 -06:00 committed by Junio C Hamano
parent e96fb9b8f9
commit dd718365cc
2 changed files with 2 additions and 2 deletions

View File

@ -83,7 +83,7 @@ case ",$all_into_one," in
esac esac


args="$args $local $quiet $no_reuse$extra" args="$args $local $quiet $no_reuse$extra"
names=$(git pack-objects --non-empty --all --reflog $args </dev/null "$PACKTMP") || names=$(git pack-objects --honor-pack-keep --non-empty --all --reflog $args </dev/null "$PACKTMP") ||
exit 1 exit 1
if [ -z "$names" ]; then if [ -z "$names" ]; then
if test -z "$quiet"; then if test -z "$quiet"; then

View File

@ -4,7 +4,7 @@ test_description='git repack works correctly'


. ./test-lib.sh . ./test-lib.sh


test_expect_failure 'objects in packs marked .keep are not repacked' ' test_expect_success 'objects in packs marked .keep are not repacked' '
echo content1 > file1 && echo content1 > file1 &&
echo content2 > file2 && echo content2 > file2 &&
git add . && git add . &&