mirror of
https://github.com/git/git
synced 2024-08-28 12:09:19 +00:00
mktag tests: test verify_object() with replaced objects
Add tests to demonstrate what "mktag" does in the face of replaced
objects.
There was an existing test for replaced objects fed to "mktag" added
in cc400f5011
(mktag: call "check_sha1_signature" with the
replacement sha1, 2009-01-23), but that one only tests a
commit->commit mapping. Not a mapping to a different type as like
we're also testing for here. We could remove the "mktag" test in
t6050-replace.sh now if the created tag wasn't being used by a
subsequent "fsck" test.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
30f882c16d
commit
692654dca0
|
@ -38,7 +38,11 @@ test_expect_mktag_success() {
|
|||
# for the tag.
|
||||
test_expect_success 'setup' '
|
||||
test_commit A &&
|
||||
head=$(git rev-parse --verify HEAD)
|
||||
test_commit B &&
|
||||
head=$(git rev-parse --verify HEAD) &&
|
||||
head_parent=$(git rev-parse --verify HEAD~) &&
|
||||
tree=$(git rev-parse HEAD^{tree}) &&
|
||||
blob=$(git rev-parse --verify HEAD:B.t)
|
||||
'
|
||||
|
||||
############################################################
|
||||
|
@ -180,6 +184,35 @@ tagger . <> 0 +0000
|
|||
|
||||
EOF
|
||||
|
||||
check_verify_failure 'verify object (hash/type) check -- mismatched type, valid object' \
|
||||
'^error: char7: could not verify object'
|
||||
|
||||
############################################################
|
||||
# 9.5. verify object (hash/type) check -- replacement
|
||||
|
||||
test_expect_success 'setup replacement of commit -> commit and tree -> blob' '
|
||||
git replace $head_parent $head &&
|
||||
git replace -f $tree $blob
|
||||
'
|
||||
|
||||
cat >tag.sig <<EOF
|
||||
object $head_parent
|
||||
type commit
|
||||
tag mytag
|
||||
tagger . <> 0 +0000
|
||||
|
||||
EOF
|
||||
|
||||
test_expect_mktag_success 'tag to a commit replaced by another commit'
|
||||
|
||||
cat >tag.sig <<EOF
|
||||
object $tree
|
||||
type tree
|
||||
tag mytag
|
||||
tagger . <> 0 +0000
|
||||
|
||||
EOF
|
||||
|
||||
check_verify_failure 'verify object (hash/type) check -- mismatched type, valid object' \
|
||||
'^error: char7: could not verify object'
|
||||
|
||||
|
|
Loading…
Reference in a new issue