commit: add gentle reference lookup method
The lookup_commit_reference_by_name() method uses lookup_commit_reference() without an option to use lookup_commit_reference_gently(). Create a gentle version of the method so it can be used in locations where non-commits may be found but error messages should be silenced. Signed-off-by: Derrick Stolee <derrickstolee@github.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Derrick Stolee committed
Aug 14, 2024 at 10:31 UTC
69020d034b75a7cd198c7351219d07ee6926fe59
2 files changed
+9
-1
commit.c
+7
-1
@@ -84,13 +84,19 @@ struct commit *lookup_commit(struct repository *r, const struct object_id *oid)
84
}
85
86
struct commit *lookup_commit_reference_by_name(const char *name)
87
+{
88
+ return lookup_commit_reference_by_name_gently(name, 0);
89
+}
90
+
91
+struct commit *lookup_commit_reference_by_name_gently(const char *name,
92
+ int quiet)
93
{
94
struct object_id oid;
95
struct commit *commit;
96
97
if (repo_get_oid_committish(the_repository, name, &oid))
98
return NULL;
93
- commit = lookup_commit_reference(the_repository, &oid);
99
+ commit = lookup_commit_reference_gently(the_repository, &oid, quiet);
100
if (repo_parse_commit(the_repository, commit))
101
return NULL;
102
return commit;
commit.h
+2
@@ -81,6 +81,8 @@ struct commit *lookup_commit_reference_gently(struct repository *r,
81
const struct object_id *oid,
82
int quiet);
83
struct commit *lookup_commit_reference_by_name(const char *name);
84
+struct commit *lookup_commit_reference_by_name_gently(const char *name,
85
+ int quiet);
86
87
/*
88
* Look up object named by "oid", dereference tag as necessary,