diff options
| author | Patrick Steinhardt <ps@pks.im> | 2023-04-14 08:01:59 +0200 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2023-04-14 10:27:52 -0700 |
| commit | f3028418c3b68350aa810064c95283062c9157d6 (patch) | |
| tree | d6df26450abd5108e6feaefe657baec364129c37 /t/t5331-pack-objects-stdin.sh | |
| parent | 752b465c3c0fd7f503b50c326017b8b13af83c3b (diff) | |
| download | git-f3028418c3b68350aa810064c95283062c9157d6.tar.gz | |
pack-objects: extend test coverage of `--stdin-packs` with alternates
We don't have any tests that verify that git-pack-objects(1) works with
`--stdin-packs` when combined with alternate object directories. Add
some to make sure that the basic functionality works as expected.
Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t5331-pack-objects-stdin.sh')
| -rwxr-xr-x | t/t5331-pack-objects-stdin.sh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/t/t5331-pack-objects-stdin.sh b/t/t5331-pack-objects-stdin.sh index 3ef736ec05..acab31667a 100755 --- a/t/t5331-pack-objects-stdin.sh +++ b/t/t5331-pack-objects-stdin.sh @@ -189,4 +189,52 @@ test_expect_success 'pack-objects --stdin with same packfile excluded and includ ) ' +test_expect_success 'pack-objects --stdin with packfiles from alternate object database' ' + test_when_finished "rm -fr shared member" && + + # Set up a shared repository with a single packfile. + git init shared && + test_commit -C shared "shared-objects" && + git -C shared repack -ad && + basename shared/.git/objects/pack/pack-*.pack >packfile && + + # Set up a repository that is connected to the shared repository. This + # repository has no objects on its own, but we still expect to be able + # to pack objects from its alternate. + git clone --shared shared member && + git -C member pack-objects --stdin-packs generated-pack <packfile && + test_cmp shared/.git/objects/pack/pack-*.pack member/generated-pack-*.pack +' + +test_expect_success 'pack-objects --stdin with packfiles from main and alternate object database' ' + test_when_finished "rm -fr shared member" && + + # Set up a shared repository with a single packfile. + git init shared && + test_commit -C shared "shared-commit" && + git -C shared repack -ad && + + # Set up a repository that is connected to the shared repository. This + # repository has a second packfile so that we can verify that it is + # possible to write packs that include packfiles from different object + # databases. + git clone --shared shared member && + test_commit -C member "local-commit" && + git -C member repack -dl && + + { + basename shared/.git/objects/pack/pack-*.pack && + basename member/.git/objects/pack/pack-*.pack + } >packfiles && + + { + packed_objects shared/.git/objects/pack/pack-*.idx && + packed_objects member/.git/objects/pack/pack-*.idx + } | sort >expected-objects && + + git -C member pack-objects --stdin-packs generated-pack <packfiles && + packed_objects member/generated-pack-*.idx >actual-objects && + test_cmp expected-objects actual-objects +' + test_done |
