Re: [PATCH] execv_git_cmd(): also try PATH if everything else fails.
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Oct 23, 2007, 11:12 UTC
- Message-ID
- <Pine.LNX.4.64.0710231209240.25221@racer.site>
- In-Reply-To
- <20071023043405.GA14735@spearce.org>
Hi,
On Tue, 23 Oct 2007, Shawn O. Pearce wrote:
Show 30 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> wrote:
> > 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.Not here. I just tried (with msysGit, of course).
Anyway, I like the other patch Scott sent much more than mine, which offloads the work to execvp().
Ciao, Dscho