From: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
"Jeffrey Walton" <noloader@gmail.com>,
"Michał Kiedrowicz" <michal.kiedrowicz@gmail.com>,
"J Smith" <dark.panda@gmail.com>,
"Victor Leschuk" <vleschuk@gmail.com>,
"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
"Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Subject: [PATCH 06/12] log: add -P as a synonym for --perl-regexp
Date: Sat, 8 Apr 2017 13:25:00 +0000 [thread overview]
Message-ID: <20170408132506.5415-7-avarab@gmail.com> (raw)
In-Reply-To: <20170408132506.5415-1-avarab@gmail.com>
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.
Since nothing has come along in over 4 1/2 years that's wanted to use
it, it's more valuable to make it consistent with "grep" 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>
---
Documentation/rev-list-options.txt | 1 +
revision.c | 2 +-
t/t4202-log.sh | 9 +++++++++
3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt
index a02f7324c0..5b7fa49a7f 100644
--- a/Documentation/rev-list-options.txt
+++ b/Documentation/rev-list-options.txt
@@ -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.
Requires libpcre to be compiled in.
diff --git a/revision.c b/revision.c
index 7ff61ff5f7..03a3a012de 100644
--- a/revision.c
+++ b/revision.c
@@ -1995,7 +1995,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;
diff --git a/t/t4202-log.sh b/t/t4202-log.sh
index 00d0585253..6f7c74e027 100755
--- a/t/t4202-log.sh
+++ b/t/t4202-log.sh
@@ -320,8 +320,17 @@ 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="\((?=1)" >actual.perl.short-arg
+ 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 &&
--
2.11.0
next prev parent reply other threads:[~2017-04-08 13:26 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-08 13:24 [PATCH 00/12] PCREv2 & more Ævar Arnfjörð Bjarmason
2017-04-08 13:24 ` [PATCH 01/12] grep: add ability to disable threading with --threads=0 or grep.threads=0 Ævar Arnfjörð Bjarmason
2017-04-11 10:06 ` Jeff King
2017-04-11 20:20 ` Ævar Arnfjörð Bjarmason
2017-04-11 20:34 ` Jeff King
2017-04-11 20:56 ` Ævar Arnfjörð Bjarmason
2017-04-14 21:23 ` Jeff King
2017-04-16 22:25 ` Ævar Arnfjörð Bjarmason
2017-04-08 13:24 ` [PATCH 02/12] grep: remove redundant regflags assignment under PCRE Ævar Arnfjörð Bjarmason
2017-04-11 10:10 ` Jeff King
2017-04-08 13:24 ` [PATCH 03/12] Makefile & configure: reword outdated comment about PCRE Ævar Arnfjörð Bjarmason
2017-04-11 10:14 ` Jeff King
2017-04-15 12:10 ` Ævar Arnfjörð Bjarmason
2017-04-08 13:24 ` [PATCH 04/12] grep: add a test for backreferences in PCRE patterns Ævar Arnfjörð Bjarmason
2017-04-08 13:24 ` [PATCH 05/12] log: add exhaustive tests for pattern style options & config Ævar Arnfjörð Bjarmason
2017-04-11 10:23 ` Jeff King
2017-04-11 10:32 ` Ævar Arnfjörð Bjarmason
2017-04-11 10:51 ` Jeff King
2017-04-08 13:25 ` Ævar Arnfjörð Bjarmason [this message]
2017-04-10 2:39 ` [PATCH 06/12] log: add -P as a synonym for --perl-regexp Junio C Hamano
2017-04-11 10:26 ` Jeff King
2017-04-08 13:25 ` [PATCH 07/12] grep & rev-list doc: stop promising libpcre " Ævar Arnfjörð Bjarmason
2017-04-08 13:25 ` [PATCH 08/12] grep: make grep.patternType=[pcre|pcre1] a synonym for "perl" Ævar Arnfjörð Bjarmason
2017-04-11 10:30 ` Jeff King
2017-04-08 13:25 ` [PATCH 09/12] test-lib: rename the LIBPCRE prerequisite to PCRE Ævar Arnfjörð Bjarmason
2017-04-11 10:31 ` Jeff King
2017-04-08 13:25 ` [PATCH 10/12] grep: change the internal PCRE macro names to be PCRE1 Ævar Arnfjörð Bjarmason
2017-04-11 10:35 ` Jeff King
2017-04-11 10:51 ` Ævar Arnfjörð Bjarmason
2017-04-11 10:53 ` Jeff King
2017-04-08 13:25 ` [PATCH 11/12] grep: change the internal PCRE code & header " Ævar Arnfjörð Bjarmason
2017-04-11 10:37 ` Jeff King
2017-04-11 10:45 ` Ævar Arnfjörð Bjarmason
2017-04-11 10:48 ` Jeff King
2017-04-11 11:02 ` Ævar Arnfjörð Bjarmason
2017-04-11 12:57 ` Jeff King
2017-04-11 16:51 ` Brandon Williams
2017-04-11 18:31 ` Ævar Arnfjörð Bjarmason
2017-04-08 13:25 ` [PATCH 12/12] grep: add support for PCRE v2 Ævar Arnfjörð Bjarmason
2017-04-11 10:43 ` Jeff King
2017-04-11 10:47 ` [PATCH 00/12] PCREv2 & more Jeff King
2017-04-15 8:11 ` Junio C Hamano
2017-04-15 9:50 ` Ævar Arnfjörð Bjarmason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170408132506.5415-7-avarab@gmail.com \
--to=avarab@gmail.com \
--cc=dark.panda@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=michal.kiedrowicz@gmail.com \
--cc=noloader@gmail.com \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
--cc=vleschuk@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.