summaryrefslogtreecommitdiff
path: root/object.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2022-11-17 22:37:58 (GMT)
committerTaylor Blau <me@ttaylorr.com>2022-11-18 18:59:31 (GMT)
commit04fb96219abc0cbe46ba084997dc9066de3ac889 (patch)
treef44b90e3c351931cf5991f05ca335b1a1a66521a /object.c
parenteea7033409a0ed713c78437fc76486983d211e25 (diff)
downloadgit-04fb96219abc0cbe46ba084997dc9066de3ac889.zip
git-04fb96219abc0cbe46ba084997dc9066de3ac889.tar.gz
git-04fb96219abc0cbe46ba084997dc9066de3ac889.tar.bz2
parse_object(): drop extra "has" check before checking object type
When parsing an object of unknown type, we check to see if it's a blob, so we can use our streaming code path. This uses oid_object_info() to check the type, but before doing so we call repo_has_object_file(). This latter is pointless, as oid_object_info() will already fail if the object is missing. Checking it ahead of time just complicates the code and is a waste of resources (albeit small). Let's drop the redundant check. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Taylor Blau <me@ttaylorr.com>
Diffstat (limited to 'object.c')
-rw-r--r--object.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/object.c b/object.c
index 8a74eb8..16eb944 100644
--- a/object.c
+++ b/object.c
@@ -287,8 +287,7 @@ struct object *parse_object_with_flags(struct repository *r,
}
if ((obj && obj->type == OBJ_BLOB && repo_has_object_file(r, oid)) ||
- (!obj && repo_has_object_file(r, oid) &&
- oid_object_info(r, oid, NULL) == OBJ_BLOB)) {
+ (!obj && oid_object_info(r, oid, NULL) == OBJ_BLOB)) {
if (!skip_hash && stream_object_signature(r, repl) < 0) {
error(_("hash mismatch %s"), oid_to_hex(oid));
return NULL;