git grep: Add "-z/--null" option as in GNU's grep.
Here's a trivial patch that adds "-z" and "--null" options to "git grep". It was discussed on the mailing-list that git's "-z" convention should be used instead of GNU grep's "-Z". So things like 'git grep -l -z "$FOO" | xargs -0 sed -i "s/$FOO/$BOO/"' do work now. Signed-off-by: Raphael Zimmerer <killekulla@rdrz.de> Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
This commit is contained in:

committed by
Shawn O. Pearce

parent
5e22e21769
commit
83caecca2f
@ -295,6 +295,9 @@ static int external_grep(struct grep_opt *opt, const char **paths, int cached)
|
||||
push_arg("-l");
|
||||
if (opt->unmatch_name_only)
|
||||
push_arg("-L");
|
||||
if (opt->null_following_name)
|
||||
/* in GNU grep git's "-z" translates to "-Z" */
|
||||
push_arg("-Z");
|
||||
if (opt->count)
|
||||
push_arg("-c");
|
||||
if (opt->post_context || opt->pre_context) {
|
||||
@ -599,6 +602,11 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
|
||||
opt.unmatch_name_only = 1;
|
||||
continue;
|
||||
}
|
||||
if (!strcmp("-z", arg) ||
|
||||
!strcmp("--null", arg)) {
|
||||
opt.null_following_name = 1;
|
||||
continue;
|
||||
}
|
||||
if (!strcmp("-c", arg) ||
|
||||
!strcmp("--count", arg)) {
|
||||
opt.count = 1;
|
||||
|
Reference in New Issue
Block a user