repack: don't repack local objects in packs with .keep file
authorBrandon Casey <casey@nrlssc.navy.mil>
Wed, 12 Nov 2008 17:59:05 +0000 (11:59 -0600)
committerJunio C Hamano <gitster@pobox.com>
Wed, 12 Nov 2008 18:28:12 +0000 (10:28 -0800)
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>
git-repack.sh
t/t7700-repack.sh

index d39eb6cea6174ac65f1cc13c98e4abeab3a90903..8bb22014b92720c0b8b9df922801d6436c639ffb 100755 (executable)
@@ -83,7 +83,7 @@ case ",$all_into_one," in
 esac
 
 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
 if [ -z "$names" ]; then
        if test -z "$quiet"; then
index 7aaff0bbe02470aa12f767e1aec5fbb04b4d35a7..356afe371b3b04d12083a6d38ab74bf272862e05 100755 (executable)
@@ -4,7 +4,7 @@ test_description='git repack works correctly'
 
 . ./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 content2 > file2 &&
        git add . &&