Browse Source

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 16 years ago committed by Junio C Hamano
parent
commit
dd718365cc
  1. 2
      git-repack.sh
  2. 2
      t/t7700-repack.sh

2
git-repack.sh

@ -83,7 +83,7 @@ case ",$all_into_one," in @@ -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

2
t/t7700-repack.sh

@ -4,7 +4,7 @@ test_description='git repack works correctly' @@ -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 . &&

Loading…
Cancel
Save