Re: [PATCH v3 3/5] grep: fix bug when recursing with relative pathspec
From: Duy Nguyen <hidden>
Date: 2017-03-21 11:47:47
On Sat, Mar 18, 2017 at 12:22 AM, Brandon Williams [off-list ref] wrote:
With these two pieces of information a child process can correctly interpret the pathspecs provided by the user as well as being able to properly format its output relative to the directory the user invoked the original command from.
This part can stand alone as a separate patch right? It would help focus on the pathspec thingy first.
quoted hunk ↗ jump to hunk
@@ -399,13 +405,12 @@ static void run_pager(struct grep_opt *opt, const char *prefix) } static void compile_submodule_options(const struct grep_opt *opt, - const struct pathspec *pathspec, + const char **argv, int cached, int untracked, int opt_exclude, int use_index, int pattern_type_arg) { struct grep_pat *pattern; - int i; if (recurse_submodules) argv_array_push(&submodule_options, "--recurse-submodules");
Side note. It would be awesome if you could make parse_options() (or a new function) do the reverse process: given a 'struct option' with valid data, spit out argv_array. Less worrying about git-grep having new option but not passed to subgrep by accident. You can have a new flag to tell it to ignore certain options if you don't want to pass all. -- Duy