From 93d496a560cdcd4f72c8dee1b0b2efa324e1c3bb Mon Sep 17 00:00:00 2001 From: Petr Baudis Date: Sat, 19 May 2007 02:13:29 +0200 Subject: git-rev-list: Add regexp tuning options This patch introduces --extended-regexp and --regexp-ignore-case options to tune what kind of patterns the pattern-limiting options (--grep, --author, ...) accept. Signed-off-by: Petr Baudis Signed-off-by: Junio C Hamano --- revision.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'revision.c') diff --git a/revision.c b/revision.c index 0125d41136..0a29b53673 100644 --- a/revision.c +++ b/revision.c @@ -881,6 +881,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch const char **unrecognized = argv + 1; int left = 1; int all_match = 0; + int regflags = 0; /* First, search for "--" */ seen_dashdash = 0; @@ -1152,6 +1153,14 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch add_message_grep(revs, arg+7); continue; } + if (!prefixcmp(arg, "--extended-regexp")) { + regflags |= REG_EXTENDED; + continue; + } + if (!prefixcmp(arg, "--regexp-ignore-case")) { + regflags |= REG_ICASE; + continue; + } if (!strcmp(arg, "--all-match")) { all_match = 1; continue; @@ -1200,6 +1209,9 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch } } + if (revs->grep_filter) + revs->grep_filter->regflags |= regflags; + if (show_merge) prepare_show_merge(revs); if (def && !revs->pending.nr) { -- cgit v1.2.1