diff mbox series

[09/10] object-name.c: don't have GET_OID_ONLY_TO_DIE imply *_QUIETLY

Message ID patch-09.10-49f9e30792b-20211106T214259Z-avarab@gmail.com (mailing list archive)
State Superseded
Headers show
Series cat-file: better usage UX & error messages | expand

Commit Message

Ævar Arnfjörð Bjarmason Nov. 6, 2021, 9:47 p.m. UTC
Stop having GET_OID_ONLY_TO_DIE imply GET_OID_QUIETLY in
get_oid_with_context_1().

The *_DIE flag was added in 33bd598c390 (sha1_name.c: teach lookup
context to get_sha1_with_context(), 2012-07-02), and then later
tweaked in 7243ffdd78d (get_sha1: avoid repeating ourselves via
ONLY_TO_DIE, 2016-09-26).

Everything in that commit makes sense, but only for callers that
expect to fail in an initial call to get_oid_with_context_1(), e.g. as
"git show 0017" does via handle_revision_arg(), and then would like to
call get_oid_with_context_1() again via this
maybe_die_on_misspelt_object_name() function.

In the subsequent commit we'll add a new caller that excepts to call
this only once, but who would still like to have all the error
messaging that GET_OID_ONLY_TO_DIE gives it, in addition to any
regular errors.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 object-name.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

Comments

Eric Sunshine Nov. 7, 2021, 3:05 a.m. UTC | #1
On Sat, Nov 6, 2021 at 5:47 PM Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
> Stop having GET_OID_ONLY_TO_DIE imply GET_OID_QUIETLY in
> get_oid_with_context_1().
>
> The *_DIE flag was added in 33bd598c390 (sha1_name.c: teach lookup
> context to get_sha1_with_context(), 2012-07-02), and then later
> tweaked in 7243ffdd78d (get_sha1: avoid repeating ourselves via
> ONLY_TO_DIE, 2016-09-26).
>
> Everything in that commit makes sense, but only for callers that
> expect to fail in an initial call to get_oid_with_context_1(), e.g. as
> "git show 0017" does via handle_revision_arg(), and then would like to
> call get_oid_with_context_1() again via this
> maybe_die_on_misspelt_object_name() function.
>
> In the subsequent commit we'll add a new caller that excepts to call
> this only once, but who would still like to have all the error
> messaging that GET_OID_ONLY_TO_DIE gives it, in addition to any
> regular errors.

s/excepts/expects/

> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
diff mbox series

Patch

diff --git a/object-name.c b/object-name.c
index fdff4601b2c..d44a8f3a7ca 100644
--- a/object-name.c
+++ b/object-name.c
@@ -1795,9 +1795,6 @@  static enum get_oid_result get_oid_with_context_1(struct repository *repo,
 	const char *cp;
 	int only_to_die = flags & GET_OID_ONLY_TO_DIE;
 
-	if (only_to_die)
-		flags |= GET_OID_QUIETLY;
-
 	memset(oc, 0, sizeof(*oc));
 	oc->mode = S_IFINVALID;
 	strbuf_init(&oc->symlink_path, 0);
@@ -1932,7 +1929,7 @@  void maybe_die_on_misspelt_object_name(struct repository *r,
 {
 	struct object_context oc;
 	struct object_id oid;
-	get_oid_with_context_1(r, name, GET_OID_ONLY_TO_DIE,
+	get_oid_with_context_1(r, name, GET_OID_ONLY_TO_DIE | GET_OID_QUIETLY,
 			       prefix, &oid, &oc);
 }