git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

Previous: Shawn O. PearceNext: Scott Parish
Message 10 of 17 in “Re: [PATCH] When exec'ing sub-commands, fall back on execvp (thePATH)”
  1. Scott R ParishOct 20, 2007
  2. Johannes SchindelinOct 20, 2007
  3. Scott ParishOct 20, 2007
  4. execv_git_cmd(): also try PATH if everything else fails.Johannes Schindelin, Oct 20, 2007
  5. Shawn O. PearceOct 21, 2007
  6. execv_git_cmd(): also try PATH if everything else fails.Johannes Schindelin, Oct 21, 2007
  7. Shawn O. PearceOct 22, 2007
  8. Johannes SchindelinOct 22, 2007
  9. Shawn O. PearceOct 23, 2007
  10. Johannes SchindelinOct 23, 2007
  11. Scott ParishOct 22, 2007
  12. Andreas EricssonOct 22, 2007
  13. Johannes SixtOct 22, 2007
  14. Andreas EricssonOct 23, 2007
  15. Johannes SixtOct 23, 2007
  16. Scott ParishOct 21, 2007
  17. Johannes SchindelinOct 21, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.