diff options
author | Jeff King <peff@peff.net> | 2017-02-14 01:08:09 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-02-14 11:26:37 -0800 |
commit | 73fc7b6b9be495e2cabc546ed240efd77adaa8eb (patch) | |
tree | 55f960b2d80417ce46b26638e34db7b4f7ab1022 | |
parent | d0ffc069331b490ca15418ca7025d5b9024fbad5 (diff) | |
download | git-73fc7b6b9be495e2cabc546ed240efd77adaa8eb.tar.gz |
grep: do not diagnose misspelt revs with --no-index
If we are using --no-index, then our arguments cannot be
revs in the first place. Not only is it pointless to
diagnose them, but if we are not in a repository, we should
not be trying to resolve any names.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | builtin/grep.c | 2 | ||||
-rwxr-xr-x | t/t7810-grep.sh | 5 |
2 files changed, 6 insertions, 1 deletions
diff --git a/builtin/grep.c b/builtin/grep.c index c4c6325941..1454bef496 100644 --- a/builtin/grep.c +++ b/builtin/grep.c @@ -1201,7 +1201,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix) if (!seen_dashdash) { int j; for (j = i; j < argc; j++) - verify_filename(prefix, argv[j], j == i); + verify_filename(prefix, argv[j], j == i && use_index); } parse_pathspec(&pathspec, 0, diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh index c051c7ee80..0ff9f6cae8 100755 --- a/t/t7810-grep.sh +++ b/t/t7810-grep.sh @@ -1043,6 +1043,11 @@ test_expect_success 'grep --no-index prefers paths to revs' ' test_cmp expect actual ' +test_expect_success 'grep --no-index does not "diagnose" revs' ' + test_must_fail git grep --no-index o :1:hello.c 2>err && + test_i18ngrep ! -i "did you mean" err +' + cat >expected <<EOF hello.c:int main(int argc, const char **argv) hello.c: printf("Hello world.\n"); |