From: Jonathan Tan Date: Wed, 14 Jul 2021 19:35:06 GMT Subject: Re: [PATCH 3/3] fetch: die on invalid --negotiation-tip hash Message-ID: <20210714193506.4084421-1-jonathantanmy@google.com> In-Reply-To: <878s293htx.fsf@evledraar.gmail.com> > >> diff --git a/builtin/fetch.c b/builtin/fetch.c > >> index 9191620e50..2c50465cff 100644 > >> --- a/builtin/fetch.c > >> +++ b/builtin/fetch.c > >> @@ -1428,7 +1428,9 @@ static void add_negotiation_tips(struct git_transport_options *smart_options) > >> if (!has_glob_specials(s)) { > >> struct object_id oid; > >> if (get_oid(s, &oid)) > >> - die("%s is not a valid object", s); > >> + die(_("%s is not a valid object"), s); > >> + if (!has_object(the_repository, &oid, 0)) > >> + die(_("%s is not a valid object"), s); > > Any reason not to consolidate these, e.g. if (get_oid || !has_object)? > > Then we wouldn't dup the err string. > > Generally I'd agree, but aren't we explicitly conflating cases where > something is a valid way no name an object v.s. being certain that such > an object does not exist? I.e. this should be something like: > > if can't get_get(): > error "couldn't get the OID of revision '%s'" > if can't look up fully-qualified OID: > error "the OID '%s' does not exist" > > Or something... Good point. I'll use wording similar to yours.