Windows: start_command: Support non-NULL dir in struct child_process

A caller of start_command can set the member 'dir' to a directory to
request that the child process starts with that directory as CWD. The first
user of this feature was added recently in eee49b6 (Teach diff --submodule
and status to handle .git files in submodules).

On Windows, we have been lazy and had not implemented support for this
feature, yet. This fixes the shortcoming.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Johannes Sixt
2010-04-11 22:40:12 +02:00
committed by Junio C Hamano
parent eee49b6ce4
commit f9a2743c35
3 changed files with 8 additions and 7 deletions

View File

@ -335,8 +335,6 @@ fail_pipe:
else if (cmd->out > 1)
fhout = dup(cmd->out);
if (cmd->dir)
die("chdir in start_command() not implemented");
if (cmd->env)
env = make_augmented_environ(cmd->env);
@ -346,7 +344,7 @@ fail_pipe:
cmd->argv = prepare_shell_cmd(cmd->argv);
}
cmd->pid = mingw_spawnvpe(cmd->argv[0], cmd->argv, env,
cmd->pid = mingw_spawnvpe(cmd->argv[0], cmd->argv, env, cmd->dir,
fhin, fhout, fherr);
failed_errno = errno;
if (cmd->pid < 0 && (!cmd->silent_exec_failure || errno != ENOENT))