Merge branch 'jk/virtual-objects-do-exist'
A recent update broke "is this object available to us?" check for well-known objects like an empty tree (which should yield "yes", even when there is no on-disk object for an empty tree), which has been corrected. * jk/virtual-objects-do-exist: rev-list: allow cached objects in existence check
This commit is contained in:
commit
83b13e284c
@ -238,7 +238,7 @@ static inline void finish_object__ma(struct object *obj)
|
|||||||
static int finish_object(struct object *obj, const char *name, void *cb_data)
|
static int finish_object(struct object *obj, const char *name, void *cb_data)
|
||||||
{
|
{
|
||||||
struct rev_list_info *info = cb_data;
|
struct rev_list_info *info = cb_data;
|
||||||
if (!has_object_file(&obj->oid)) {
|
if (oid_object_info_extended(the_repository, &obj->oid, NULL, 0) < 0) {
|
||||||
finish_object__ma(obj);
|
finish_object__ma(obj);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -127,4 +127,14 @@ test_expect_success 'fetch into corrupted repo with index-pack' '
|
|||||||
)
|
)
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'internal tree objects are not "missing"' '
|
||||||
|
git init missing-empty &&
|
||||||
|
(
|
||||||
|
cd missing-empty &&
|
||||||
|
empty_tree=$(git hash-object -t tree /dev/null) &&
|
||||||
|
commit=$(echo foo | git commit-tree $empty_tree) &&
|
||||||
|
git rev-list --objects $commit
|
||||||
|
)
|
||||||
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user