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

committed by
Junio C Hamano

parent
d0ffc06933
commit
73fc7b6b9b
@ -1201,7 +1201,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
|
|||||||
if (!seen_dashdash) {
|
if (!seen_dashdash) {
|
||||||
int j;
|
int j;
|
||||||
for (j = i; j < argc; 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,
|
parse_pathspec(&pathspec, 0,
|
||||||
|
@ -1043,6 +1043,11 @@ test_expect_success 'grep --no-index prefers paths to revs' '
|
|||||||
test_cmp expect actual
|
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
|
cat >expected <<EOF
|
||||||
hello.c:int main(int argc, const char **argv)
|
hello.c:int main(int argc, const char **argv)
|
||||||
hello.c: printf("Hello world.\n");
|
hello.c: printf("Hello world.\n");
|
||||||
|
Reference in New Issue
Block a user