mirror of
https://github.com/git/git.git
synced 2024-10-30 05:47:53 +01:00
grep: use run-command's "dir" option for --open-files-in-pager
Git generally changes directory to the repository root on startup. When running "grep --open-files-in-pager" from a subdirectory, we chdir back to the original directory before running the pager, so that we can feed the relative pathnames to the pager. We currently do this chdir manually, but we can ask run_command to do it for us. This is fewer lines of code, and as a bonus, the chdir is limited to the child process, which avoids any unexpected surprises for code running after the pager (there isn't any currently, but this is future-proofing). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
0bc85abb7a
commit
26ecfe3e20
1 changed files with 1 additions and 3 deletions
|
@ -361,9 +361,7 @@ static void run_pager(struct grep_opt *opt, const char *prefix)
|
|||
argv[i] = path_list->items[i].string;
|
||||
argv[path_list->nr] = NULL;
|
||||
|
||||
if (prefix && chdir(prefix))
|
||||
die(_("Failed to chdir: %s"), prefix);
|
||||
status = run_command_v_opt(argv, RUN_USING_SHELL);
|
||||
status = run_command_v_opt_cd_env(argv, RUN_USING_SHELL, prefix, NULL);
|
||||
if (status)
|
||||
exit(status);
|
||||
free(argv);
|
||||
|
|
Loading…
Reference in a new issue