Merge branch 'bc/diff-reject-empty-arg-to-pickaxe'
The -G/-S options to the "diff" family of commands caused us to hit a BUG() when they get no values; they have been corrected. * bc/diff-reject-empty-arg-to-pickaxe: diff: don't crash with empty argument to -G or -Smaint
commit
a8a5bb1f78
4
diff.c
4
diff.c
|
@ -5493,6 +5493,8 @@ static int diff_opt_pickaxe_regex(const struct option *opt,
|
|||
BUG_ON_OPT_NEG(unset);
|
||||
options->pickaxe = arg;
|
||||
options->pickaxe_opts |= DIFF_PICKAXE_KIND_G;
|
||||
if (arg && !*arg)
|
||||
return error(_("-G requires a non-empty argument"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -5504,6 +5506,8 @@ static int diff_opt_pickaxe_string(const struct option *opt,
|
|||
BUG_ON_OPT_NEG(unset);
|
||||
options->pickaxe = arg;
|
||||
options->pickaxe_opts |= DIFF_PICKAXE_KIND_S;
|
||||
if (arg && !*arg)
|
||||
return error(_("-S requires a non-empty argument"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -93,6 +93,22 @@ test_expect_success 'usage: --no-pickaxe-regex' '
|
|||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success 'usage: -G and -S with empty argument' '
|
||||
cat >expect <<-\EOF &&
|
||||
error: -S requires a non-empty argument
|
||||
EOF
|
||||
|
||||
test_expect_code 129 git log -S "" 2>actual &&
|
||||
test_cmp expect actual &&
|
||||
|
||||
cat >expect <<-\EOF &&
|
||||
error: -G requires a non-empty argument
|
||||
EOF
|
||||
|
||||
test_expect_code 129 git log -G "" 2>actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_log expect_initial --grep initial
|
||||
test_log expect_nomatch --grep InItial
|
||||
test_log_icase expect_initial --grep InItial
|
||||
|
|
Loading…
Reference in New Issue