summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 61e8aaf)
raw | patch | inline | side by side (parent: 61e8aaf)
author | Joe Ratterman <jratt0@gmail.com> | |
Wed, 30 Mar 2011 19:31:05 +0000 (14:31 -0500) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Wed, 30 Mar 2011 20:17:07 +0000 (13:17 -0700) |
Add two configration variables grep.extendedRegexp and grep.lineNumbers to
allow the user to skip typing -E and -n on the command line, respectively.
Scripts that are meant to be used by random users and/or in random
repositories now have use -G and/or --no-line-number options as
appropriately to override the settings in the repository or user's
~/.gitconfig settings. Just because the script didn't say "git grep -n" no
longer guarantees that the output from the command will not have line
numbers.
Signed-off-by: Joe Ratterman <jratt0@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
allow the user to skip typing -E and -n on the command line, respectively.
Scripts that are meant to be used by random users and/or in random
repositories now have use -G and/or --no-line-number options as
appropriately to override the settings in the repository or user's
~/.gitconfig settings. Just because the script didn't say "git grep -n" no
longer guarantees that the output from the command will not have line
numbers.
Signed-off-by: Joe Ratterman <jratt0@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config.txt | patch | blob | history | |
Documentation/git-grep.txt | patch | blob | history | |
builtin/grep.c | patch | blob | history | |
t/t7810-grep.sh | patch | blob | history |
index 8ea55d46add1da6d1e810cb126a7ecc5ce456650..01d5fabc4c4a84641c0d95c201949d4345905fe5 100644 (file)
--- a/Documentation/config.txt
+++ b/Documentation/config.txt
is one of "ext" and "pserver") to make them apply only for the given
access method.
+grep.lineNumber::
+ If set to true, enable '-n' option by default.
+
+grep.extendedRegexp::
+ If set to true, enable '--extended-regexp' option by default.
+
gui.commitmsgwidth::
Defines how wide the commit message window is in the
linkgit:git-gui[1]. "75" is the default.
index 132505eb4f83fdc64778df8cf58b595ca6eadf1f..d7523b3e45ff06bd7a8abf4ff466fe619c8268e7 100644 (file)
registered in the index file, or blobs in given tree objects.
+CONFIGURATION
+-------------
+
+grep.lineNumber::
+ If set to true, enable '-n' option by default.
+
+grep.extendedRegexp::
+ If set to true, enable '--extended-regexp' option by default.
+
+
OPTIONS
-------
--cached::
diff --git a/builtin/grep.c b/builtin/grep.c
index 85e9583a1335330f8e852d7937abb10c97798bc0..5743d920d49af64c310f1047b90dc326dcdce371 100644 (file)
--- a/builtin/grep.c
+++ b/builtin/grep.c
default: return 0;
}
+ if (!strcmp(var, "grep.extendedregexp")) {
+ if (git_config_bool(var, value))
+ opt->regflags |= REG_EXTENDED;
+ else
+ opt->regflags &= ~REG_EXTENDED;
+ return 0;
+ }
+
+ if (!strcmp(var, "grep.linenumber")) {
+ opt->linenum = git_config_bool(var, value);
+ return 0;
+ }
+
if (!strcmp(var, "color.grep"))
opt->color = git_config_colorbool(var, value, -1);
else if (!strcmp(var, "color.grep.context"))
diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh
index dbc6cd8a775a43efbd8fdf433958ccd090b6e3ab..8184c264cf942bcd8e6c2f75b5526ddfdc5a11e9 100755 (executable)
--- a/t/t7810-grep.sh
+++ b/t/t7810-grep.sh
echo ${HC}file:4:foo mmap bar_mmap
echo ${HC}file:5:foo_mmap bar mmap baz
} >expected &&
- git grep -n -w -e mmap $H >actual &&
+ git -c grep.linenumber=false grep -n -w -e mmap $H >actual &&
+ test_cmp expected actual
+ '
+
+ test_expect_success "grep -w $L" '
+ {
+ echo ${HC}file:1:foo mmap bar
+ echo ${HC}file:3:foo_mmap bar mmap
+ echo ${HC}file:4:foo mmap bar_mmap
+ echo ${HC}file:5:foo_mmap bar mmap baz
+ } >expected &&
+ git -c grep.linenumber=true grep -w -e mmap $H >actual &&
+ test_cmp expected actual
+ '
+
+ test_expect_success "grep -w $L" '
+ {
+ echo ${HC}file:foo mmap bar
+ echo ${HC}file:foo_mmap bar mmap
+ echo ${HC}file:foo mmap bar_mmap
+ echo ${HC}file:foo_mmap bar mmap baz
+ } >expected &&
+ git -c grep.linenumber=true grep --no-line-number -w -e mmap $H >actual &&
test_cmp expected actual
'