aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2025-07-01 14:22:18 +0200
committerJunio C Hamano <gitster@pobox.com>2025-07-01 14:46:35 -0700
commit961038856bcd319289a226e29503358123c0a1ba (patch)
tree122cadd3dcdc225f4ab3b57da92cce8c51b25cd3
parentbd52ea343d2af91574fedcf765250f44f3d624d4 (diff)
downloadgit-961038856bcd319289a226e29503358123c0a1ba.tar.gz
odb: get rid of `the_repository` in `assert_oid_type()`
Get rid of our dependency on `the_repository` in `assert_oid_type()` by passing in the object database as a parameter and adjusting all callers. Rename the function to `odb_assert_oid_type()`. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/commit-tree.c2
-rw-r--r--commit.c2
-rw-r--r--odb.c5
-rw-r--r--odb.h3
4 files changed, 7 insertions, 5 deletions
diff --git a/builtin/commit-tree.c b/builtin/commit-tree.c
index 546069f868..31cfd9bd15 100644
--- a/builtin/commit-tree.c
+++ b/builtin/commit-tree.c
@@ -48,7 +48,7 @@ static int parse_parent_arg_callback(const struct option *opt,
if (repo_get_oid_commit(the_repository, arg, &oid))
die(_("not a valid object name %s"), arg);
- assert_oid_type(&oid, OBJ_COMMIT);
+ odb_assert_oid_type(the_repository->objects, &oid, OBJ_COMMIT);
new_parent(lookup_commit(the_repository, &oid), parents);
return 0;
}
diff --git a/commit.c b/commit.c
index 1d30f8ce15..aa65183d8b 100644
--- a/commit.c
+++ b/commit.c
@@ -1706,7 +1706,7 @@ int commit_tree_extended(const char *msg, size_t msg_len,
/* Not having i18n.commitencoding is the same as having utf-8 */
encoding_is_utf8 = is_encoding_utf8(git_commit_encoding);
- assert_oid_type(tree, OBJ_TREE);
+ odb_assert_oid_type(the_repository->objects, tree, OBJ_TREE);
if (memchr(msg, '\0', msg_len))
return error("a NUL byte in commit log message not allowed.");
diff --git a/odb.c b/odb.c
index 240fc62ca2..d0ca299077 100644
--- a/odb.c
+++ b/odb.c
@@ -946,9 +946,10 @@ int has_object(struct repository *r, const struct object_id *oid,
return oid_object_info_extended(r, oid, NULL, object_info_flags) >= 0;
}
-void assert_oid_type(const struct object_id *oid, enum object_type expect)
+void odb_assert_oid_type(struct object_database *odb,
+ const struct object_id *oid, enum object_type expect)
{
- enum object_type type = oid_object_info(the_repository, oid, NULL);
+ enum object_type type = oid_object_info(odb->repo, oid, NULL);
if (type < 0)
die(_("%s is not a valid object"), oid_to_hex(oid));
if (type != expect)
diff --git a/odb.h b/odb.h
index 941329c694..13f5da45f5 100644
--- a/odb.h
+++ b/odb.h
@@ -302,7 +302,8 @@ enum {
int has_object(struct repository *r, const struct object_id *oid,
unsigned flags);
-void assert_oid_type(const struct object_id *oid, enum object_type expect);
+void odb_assert_oid_type(struct object_database *odb,
+ const struct object_id *oid, enum object_type expect);
/*
* Enabling the object read lock allows multiple threads to safely call the