Re: [PATCH] execv_git_cmd(): also try PATH if everything else fails.
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Oct 23, 2007, 04:34 UTC
- Message-ID
- <20071023043405.GA14735@spearce.org>
- In-Reply-To
- <Pine.LNX.4.64.0710221135100.25221@racer.site>
Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
Show 25 quoted lines
> On Mon, 22 Oct 2007, Shawn O. Pearce wrote:
> > Johannes Schindelin <Johannes.Schindelin@gmx.de> 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.