Matthieu Moy <Matthieu.Moy@xxxxxxx> writes: > 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@xxxxxxx> > --- Thanks; both patches look sensible (modulo minor nits below). Will queue with a local fix-up. > @@ -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. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html