mirror of
https://github.com/git/git.git
synced 2024-11-29 04:54:56 +08:00
t7703: test --geometric repack with loose objects
We don't currently have a test that demonstrates the non-idempotent behavior of 'git repack --geometric' with loose objects, so add one here to make sure we don't regress in this area. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
f25e33c156
commit
dab3247734
@ -54,6 +54,37 @@ test_expect_success '--geometric with an intact progression' '
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success '--geometric with loose objects' '
|
||||
git init geometric &&
|
||||
test_when_finished "rm -fr geometric" &&
|
||||
(
|
||||
cd geometric &&
|
||||
|
||||
# These packs already form a geometric progression.
|
||||
test_commit_bulk --start=1 1 && # 3 objects
|
||||
test_commit_bulk --start=2 2 && # 6 objects
|
||||
# The loose objects are packed together, breaking the
|
||||
# progression.
|
||||
test_commit loose && # 3 objects
|
||||
|
||||
find $objdir/pack -name "*.pack" | sort >before &&
|
||||
git repack --geometric 2 -d &&
|
||||
find $objdir/pack -name "*.pack" | sort >after &&
|
||||
|
||||
comm -13 before after >new &&
|
||||
comm -23 before after >removed &&
|
||||
|
||||
test_line_count = 1 new &&
|
||||
test_must_be_empty removed &&
|
||||
|
||||
git repack --geometric 2 -d &&
|
||||
find $objdir/pack -name "*.pack" | sort >after &&
|
||||
|
||||
# The progression (3, 3, 6) is combined into one new pack.
|
||||
test_line_count = 1 after
|
||||
)
|
||||
'
|
||||
|
||||
test_expect_success '--geometric with small-pack rollup' '
|
||||
git init geometric &&
|
||||
test_when_finished "rm -fr geometric" &&
|
||||
|
Loading…
Reference in New Issue
Block a user