verify_filename(): ask the caller to chose the kind of diagnosis
authorMatthieu Moy <Matthieu.Moy@imag.fr>
Mon, 18 Jun 2012 18:18:21 +0000 (20:18 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 18 Jun 2012 22:21:42 +0000 (15:21 -0700)
commit023e37c37780d6a56f2870a979c8eb3a9ee9a44d
tree74075e3fc2bf0cf4ca3997d1a745948a82c13e89
parentd7236c4395a0c8742871a72d920f789b5bd4abf6
verify_filename(): ask the caller to chose the kind of diagnosis

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 (i.e. we finished looking at
revs that come earlier on the command line, and the next argument
must be a pathname), or we _know_ that we are looking for a
pathname, 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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/grep.c
builtin/reset.c
builtin/rev-parse.c
cache.h
revision.c
setup.c
t/t1506-rev-parse-diagnosis.sh