Show 25 quoted lines
> >> 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...