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>
This commit is contained in:

committed by
Junio C Hamano

parent
d7236c4395
commit
023e37c377
@ -174,7 +174,7 @@ test_expect_success 'relative path when startup_info is NULL' '
|
||||
test_expect_success '<commit>:file correctly diagnosed after a pathname' '
|
||||
test_must_fail git rev-parse file.txt HEAD:file.txt 1>actual 2>error &&
|
||||
test_i18ngrep ! "exists on disk" error &&
|
||||
test_i18ngrep "unknown revision or path not in the working tree" error &&
|
||||
test_i18ngrep "no such path in the working tree" error &&
|
||||
cat >expect <<-\EOF &&
|
||||
file.txt
|
||||
HEAD:file.txt
|
||||
|
Reference in New Issue
Block a user