summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorLibravatar Junio C Hamano <gitster@pobox.com>2020-08-13 14:13:39 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2020-08-13 14:13:39 -0700
commitd1a8a8979d61a889b915dca36aea9c2a88d0f3f7 (patch)
tree02eece403714ca30f78b50c485e323db0ab44b97 /builtin
parentMerge branch 'bc/sha-256-cvs-svn-updates' (diff)
parentfsck: do not lazy fetch known non-promisor object (diff)
downloadtgif-d1a8a8979d61a889b915dca36aea9c2a88d0f3f7.tar.xz
Merge branch 'jt/has_object'
A new helper function has_object() has been introduced to make it easier to mark object existence checks that do and don't want to trigger lazy fetches, and a few such checks are converted using it. * jt/has_object: fsck: do not lazy fetch known non-promisor object pack-objects: no fetch when allow-{any,promisor} apply: do not lazy fetch when applying binary sha1-file: introduce no-lazy-fetch has_object()
Diffstat (limited to 'builtin')
-rw-r--r--builtin/fsck.c2
-rw-r--r--builtin/pack-objects.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/builtin/fsck.c b/builtin/fsck.c
index 37aa07da78..fbf26cafcf 100644
--- a/builtin/fsck.c
+++ b/builtin/fsck.c
@@ -168,7 +168,7 @@ static int mark_object(struct object *obj, int type, void *data, struct fsck_opt
return 0;
if (!(obj->flags & HAS_OBJ)) {
- if (parent && !has_object_file(&obj->oid)) {
+ if (parent && !has_object(the_repository, &obj->oid, 1)) {
printf_ln(_("broken link from %7s %s\n"
" to %7s %s"),
printable_type(&parent->oid, parent->type),
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c
index ada47d1a57..a8692d27f1 100644
--- a/builtin/pack-objects.c
+++ b/builtin/pack-objects.c
@@ -3048,7 +3048,7 @@ static void show_object__ma_allow_any(struct object *obj, const char *name, void
* Quietly ignore ALL missing objects. This avoids problems with
* staging them now and getting an odd error later.
*/
- if (!has_object_file(&obj->oid))
+ if (!has_object(the_repository, &obj->oid, 0))
return;
show_object(obj, name, data);
@@ -3062,7 +3062,7 @@ static void show_object__ma_allow_promisor(struct object *obj, const char *name,
* Quietly ignore EXPECTED missing objects. This avoids problems with
* staging them now and getting an odd error later.
*/
- if (!has_object_file(&obj->oid) && is_promisor_object(&obj->oid))
+ if (!has_object(the_repository, &obj->oid, 0) && is_promisor_object(&obj->oid))
return;
show_object(obj, name, data);