diff options
author | Brandon Casey <casey@nrlssc.navy.mil> | 2008-11-12 18:50:26 -0600 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-11-12 17:29:41 -0800 |
commit | 3289b9dec56d34fe05f90c262d11adc0a61e16e7 (patch) | |
tree | 8717646125a87356c2585615baf42791863e9194 | |
parent | pack-objects: extend --local to mean ignore non-local loose objects too (diff) | |
download | tgif-3289b9dec56d34fe05f90c262d11adc0a61e16e7.tar.xz |
t7700: test that 'repack -a' packs alternate packed objects
Previously, when 'repack -a' was called and there were no packs in the local
repository without a .keep file, the repack would fall back to calling
pack-objects with '--unpacked --incremental'. This resulted in the created
pack file, if any, to be missing the packed objects in the alternate object
store. Test that this specific case has been fixed.
Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | t/t7700-repack.sh | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/t/t7700-repack.sh b/t/t7700-repack.sh index 960bff47fa..3f602ea7de 100755 --- a/t/t7700-repack.sh +++ b/t/t7700-repack.sh @@ -53,5 +53,21 @@ test_expect_success 'loose objects in alternate ODB are not repacked' ' test -z "$found_duplicate_object" ' +test_expect_success 'packed obs in alt ODB are repacked even when local repo is packless' ' + mkdir alt_objects/pack + mv .git/objects/pack/* alt_objects/pack && + git repack -a && + myidx=$(ls -1 .git/objects/pack/*.idx) && + test -f "$myidx" && + for p in alt_objects/pack/*.idx; do + git verify-pack -v $p | sed -n -e "/^[0-9a-f]\{40\}/p" + done | while read sha1 rest; do + if ! ( git verify-pack -v $myidx | grep "^$sha1" ); then + echo "Missing object in local pack: $sha1" + return 1 + fi + done +' + test_done |