зеркало из https://github.com/microsoft/git.git
grep: allow -E and -n to be turned on by default via configuration
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>
This commit is contained in:
Родитель
61e8aaf621
Коммит
b22520a37c
|
@ -1098,6 +1098,12 @@ All gitcvs variables except for 'gitcvs.usecrlfattr' and
|
||||||
is one of "ext" and "pserver") to make them apply only for the given
|
is one of "ext" and "pserver") to make them apply only for the given
|
||||||
access method.
|
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::
|
gui.commitmsgwidth::
|
||||||
Defines how wide the commit message window is in the
|
Defines how wide the commit message window is in the
|
||||||
linkgit:git-gui[1]. "75" is the default.
|
linkgit:git-gui[1]. "75" is the default.
|
||||||
|
|
|
@ -31,6 +31,16 @@ Look for specified patterns in the tracked files in the work tree, blobs
|
||||||
registered in the index file, or blobs in given tree objects.
|
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
|
OPTIONS
|
||||||
-------
|
-------
|
||||||
--cached::
|
--cached::
|
||||||
|
|
|
@ -302,6 +302,19 @@ static int grep_config(const char *var, const char *value, void *cb)
|
||||||
default: return 0;
|
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"))
|
if (!strcmp(var, "color.grep"))
|
||||||
opt->color = git_config_colorbool(var, value, -1);
|
opt->color = git_config_colorbool(var, value, -1);
|
||||||
else if (!strcmp(var, "color.grep.context"))
|
else if (!strcmp(var, "color.grep.context"))
|
||||||
|
|
|
@ -59,7 +59,29 @@ do
|
||||||
echo ${HC}file:4:foo mmap bar_mmap
|
echo ${HC}file:4:foo mmap bar_mmap
|
||||||
echo ${HC}file:5:foo_mmap bar mmap baz
|
echo ${HC}file:5:foo_mmap bar mmap baz
|
||||||
} >expected &&
|
} >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
|
test_cmp expected actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче