From: Shawn O. Pearce Date: Tue, 23 Oct 2007 04:34:05 GMT Subject: Re: [PATCH] execv_git_cmd(): also try PATH if everything else fails. Message-ID: <20071023043405.GA14735@spearce.org> In-Reply-To: Johannes Schindelin wrote: > On Mon, 22 Oct 2007, Shawn O. Pearce wrote: > > Johannes Schindelin wrote: > > > Earlier, we tried to find the git commands in several possible exec > > > dirs. Now, if all of these failed, try to find the git command in > > > PATH. > > ... > > > diff --git a/exec_cmd.c b/exec_cmd.c > > > index 9b74ed2..70b84b0 100644 > > > --- a/exec_cmd.c > > > +++ b/exec_cmd.c > > > @@ -36,7 +36,8 @@ int execv_git_cmd(const char **argv) > > > int i; > > > const char *paths[] = { current_exec_path, > > > getenv(EXEC_PATH_ENVIRONMENT), > > > - builtin_exec_path }; > > > + builtin_exec_path, > > > + "" }; > > > > So if the user sets GIT_EXEC_PATH="" and exports it we'll search $PATH > > before the builtin exec path that Git was compiled with? Are we sure we > > want to do that? > > I thought the proper way to unset EXEC_PATH was to "unset GIT_EXEC_PATH". > In that case, getenv(EXEC_PATH_ENVIRONMENT) returns NULL and we're fine, > no? Sure. But can't you also export an environment variable that is set to the empty string? At least on UNIX. Windows thinks unset and empty string are the same thing. -- Shawn.