Re: [PATCH 2/2 v2] verify_filename: ask the caller to chose the kind of diagnosis
Matthieu Moy <Matthieu.Moy@imag.fr> writes:
Show 16 quoted lines
> verify_filename can be called in two different contexts. Either we just
> tried to interpret a string as an object name, and it fails, so we try
> looking for a working tree file as a fallback, or we _know_ that we are
> looking for a filename, and shouldn't even try interpreting the string as
> an object name.
>
> For example, with this change, we get:
>
> $ git log COPYING HEAD:inexistant
> fatal: HEAD:inexistant: no such path in the working tree.
> Use '-- <path>...' to specify paths that do not exist locally.
> $ git log HEAD:inexistant
> fatal: Path 'inexistant' does not exist in 'HEAD'
>
> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr>
> ---
Thanks; both patches look sensible (modulo minor nits below).
Will queue with a local fix-up.
Show 9 quoted lines
> @@ -80,14 +86,28 @@ static void NORETURN die_verify_filename(const char *prefix, const char *arg)
> * as true, because even if such a filename were to exist, we want
> * it to be preceded by the "--" marker (or we want the user to
> * use a format like "./-filename")
> + *
> + * The "diagnose_misspelt_rev" is used to provide a user-friendly
> + * diagnosis. If 0, the diagnosis will try to diagnose "name" as an
> + * invalid object name (e.g. HEAD:foo). If non-zero, the diagnosis
> + * will only complain about an inexisting file.
I have a feeling that "if 0/if non-zero" above are backwards.