mirror of
https://github.com/git/git.git
synced 2024-10-31 14:27:54 +01:00
log: add -P as a synonym for --perl-regexp
Add a short -P option as a synonym for the longer --perl-regexp, for
consistency with the options the corresponding grep invocations
accept.
This was intentionally omitted in commit 727b6fc3ed
("log --grep:
accept --basic-regexp and --perl-regexp", 2012-10-03) for unspecified
future use.
Make it consistent with "grep" rather than to keep it open for future
use, and to avoid the confusion of -P meaning different things for
grep & log, as is the case with the -G option.
As noted in the aforementioned commit the --basic-regexp option can't
have a corresponding -G argument, as the log command already uses that
for -G<regex>.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
9ec726a412
commit
7531a2dd87
3 changed files with 14 additions and 1 deletions
|
@ -91,6 +91,7 @@ endif::git-rev-list[]
|
|||
Consider the limiting patterns to be fixed strings (don't interpret
|
||||
pattern as a regular expression).
|
||||
|
||||
-P::
|
||||
--perl-regexp::
|
||||
Consider the limiting patterns to be Perl-compatible regular
|
||||
expressions.
|
||||
|
|
|
@ -1996,7 +1996,7 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
|
|||
DIFF_OPT_SET(&revs->diffopt, PICKAXE_IGNORE_CASE);
|
||||
} else if (!strcmp(arg, "--fixed-strings") || !strcmp(arg, "-F")) {
|
||||
revs->grep_filter.pattern_type_option = GREP_PATTERN_TYPE_FIXED;
|
||||
} else if (!strcmp(arg, "--perl-regexp")) {
|
||||
} else if (!strcmp(arg, "--perl-regexp") || !strcmp(arg, "-P")) {
|
||||
revs->grep_filter.pattern_type_option = GREP_PATTERN_TYPE_PCRE;
|
||||
} else if (!strcmp(arg, "--all-match")) {
|
||||
revs->grep_filter.all_match = 1;
|
||||
|
|
|
@ -404,8 +404,20 @@ test_expect_success 'log with various grep.patternType configurations & command-
|
|||
--grep="(1|2)" >actual.fixed.short-arg &&
|
||||
git log --pretty=tformat:%s -E \
|
||||
--grep="\|2" >actual.extended.short-arg &&
|
||||
if test_have_prereq PCRE
|
||||
then
|
||||
git log --pretty=tformat:%s -P \
|
||||
--grep="[\d]\|" >actual.perl.short-arg
|
||||
else
|
||||
test_must_fail git log -P \
|
||||
--grep="[\d]\|"
|
||||
fi &&
|
||||
test_cmp expect.fixed actual.fixed.short-arg &&
|
||||
test_cmp expect.extended actual.extended.short-arg &&
|
||||
if test_have_prereq PCRE
|
||||
then
|
||||
test_cmp expect.perl actual.perl.short-arg
|
||||
fi &&
|
||||
|
||||
git log --pretty=tformat:%s --fixed-strings \
|
||||
--grep="(1|2)" >actual.fixed.long-arg &&
|
||||
|
|
Loading…
Reference in a new issue