Support for the OBJECT_INFO_QUICK flag in sha1_object_info_extended() was added in commit dfdd4afcf9 ("sha1_file: teach sha1_object_info_extended more flags", 2017-06-26) in order to support commit e83e71c5e1 ("sha1_file: refactor has_sha1_file_with_flags", 2017-06-26), but it was inadvertently removed in commit 8b4c0103a9 ("sha1_file: support lazily fetching missing objects", 2017-12-08). Restore this functionality. Signed-off-by: Jonathan Tan <jonathantanmy@xxxxxxxxxx> --- > Hmm, OBJECT_INFO_QUICK optimization was added in dfdd4afc > ("sha1_file: teach sha1_object_info_extended more flags", > 2017-06-21), but since 8b4c0103 ("sha1_file: support lazily fetching > missing objects", 2017-12-08) it appears that passing > OBJECT_INFO_QUICK down the codepath does not do anything > interesting. Jonathan (cc'ed), are all remaining hits from "git > grep OBJECT_INFO_QUICK" all dead no-ops these days? They are, but they are not supposed to be. Here is a patch correcting that. --- sha1_file.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sha1_file.c b/sha1_file.c index 1b94f39c4..cc0f43ea8 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -1267,9 +1267,11 @@ int sha1_object_info_extended(const unsigned char *sha1, struct object_info *oi, return 0; /* Not a loose object; someone else may have just packed it. */ - reprepare_packed_git(); - if (find_pack_entry(real, &e)) - break; + if (!(flags & OBJECT_INFO_QUICK)) { + reprepare_packed_git(); + if (find_pack_entry(real, &e)) + break; + } /* Check if it is a missing object */ if (fetch_if_missing && repository_format_partial_clone && -- 2.16.2.660.g709887971b-goog