revision: tolerate promised targets of tags
authorJonathan Tan <jonathantanmy@google.com>
Fri, 13 Jul 2018 00:03:06 +0000 (17:03 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 16 Jul 2018 19:56:14 +0000 (12:56 -0700)
commitdc0a13f6813f35bae5fd2de6af4d5524a20d5b82
tree6b78e5172d41cb0363e323e5f72c170f7d3bdc97
parenta7e67c11b8b983b4a9f56f0b8990a550946ed6b0
revision: tolerate promised targets of tags

In handle_commit(), it is fatal for an annotated tag to point to a
non-existent object. --exclude-promisor-objects should relax this rule
and allow non-existent objects that are promisor objects, but this is
not the case. Update handle_commit() to tolerate this situation.

This was observed when cloning from a repository with an annotated tag
pointing to a blob. The test included in this patch demonstrates this
case.

Signed-off-by: Jonathan Tan <jonathantanmy@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
revision.c
t/t5616-partial-clone.sh