Merge branch 'ds/object-info-for-prefetch-fix'
Code cleanup and futureproof. * ds/object-info-for-prefetch-fix: sha1-file: split OBJECT_INFO_FOR_PREFETCHmaint
commit
5d5c46b28c
|
@ -277,10 +277,14 @@ struct object_info {
|
||||||
#define OBJECT_INFO_IGNORE_LOOSE 16
|
#define OBJECT_INFO_IGNORE_LOOSE 16
|
||||||
/*
|
/*
|
||||||
* Do not attempt to fetch the object if missing (even if fetch_is_missing is
|
* Do not attempt to fetch the object if missing (even if fetch_is_missing is
|
||||||
* nonzero). This is meant for bulk prefetching of missing blobs in a partial
|
* nonzero).
|
||||||
* clone. Implies OBJECT_INFO_QUICK.
|
|
||||||
*/
|
*/
|
||||||
#define OBJECT_INFO_FOR_PREFETCH (32 + OBJECT_INFO_QUICK)
|
#define OBJECT_INFO_SKIP_FETCH_OBJECT 32
|
||||||
|
/*
|
||||||
|
* This is meant for bulk prefetching of missing blobs in a partial
|
||||||
|
* clone. Implies OBJECT_INFO_SKIP_FETCH_OBJECT and OBJECT_INFO_QUICK
|
||||||
|
*/
|
||||||
|
#define OBJECT_INFO_FOR_PREFETCH (OBJECT_INFO_SKIP_FETCH_OBJECT | OBJECT_INFO_QUICK)
|
||||||
|
|
||||||
int oid_object_info_extended(struct repository *r,
|
int oid_object_info_extended(struct repository *r,
|
||||||
const struct object_id *,
|
const struct object_id *,
|
||||||
|
|
|
@ -1379,7 +1379,7 @@ int oid_object_info_extended(struct repository *r, const struct object_id *oid,
|
||||||
/* Check if it is a missing object */
|
/* Check if it is a missing object */
|
||||||
if (fetch_if_missing && repository_format_partial_clone &&
|
if (fetch_if_missing && repository_format_partial_clone &&
|
||||||
!already_retried && r == the_repository &&
|
!already_retried && r == the_repository &&
|
||||||
!(flags & OBJECT_INFO_FOR_PREFETCH)) {
|
!(flags & OBJECT_INFO_SKIP_FETCH_OBJECT)) {
|
||||||
/*
|
/*
|
||||||
* TODO Investigate having fetch_object() return
|
* TODO Investigate having fetch_object() return
|
||||||
* TODO error/success and stopping the music here.
|
* TODO error/success and stopping the music here.
|
||||||
|
|
Loading…
Reference in New Issue