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

Re: [PATCH] help git-upload-pack find git

From
Michael J Gruber <git@drmicha.warpmail.net>
Date
Sep 15, 2008, 20:22 UTC
Message-ID
<48CEC3FB.5070101@drmicha.warpmail.net>
In-Reply-To
<7vzlm9b3v4.fsf@gitster.siamese.dyndns.org>
Junio C Hamano venit, vidit, dixit 15.09.2008 21:34:
Show 11 quoted lines
> Michael J Gruber <git@drmicha.warpmail.net> writes:
> 
>> The corresponding bug was reported by Paul Johnston who wondered why
>> "git clone" failed when specifying --upload-pack for an out-of-$PATH
>> installation of git.  I'm not sure whether we should encourage this, but
>> the --upload-pack option clearly gives the impression that
>> git-upload-pack is all that is needed.
> 
> Another possibility would be to teach exec_cmd.c:setup_path() to add the
> directory specified by $(bindir) to PATH after we add GIT_EXEC_PATH to
> it.  That should cover the case David Miller reported, shouldn't it?

Probably. I read that thread only after submitting my patch for upload-pack but suspected that other server side incarnations may suffer from the same problem.

I was actually surprised that setup_path() uses argv0_path without setting it, same as with argv_exec_path. I assumed this is for a good reason, I'm lacking the code base overview to judge this myself.

In any case, git.c sets argv0_path early, messes a bit with argv[0] and calls setup_path afterwards anyways. So adding the path in setup_path() should not hurt any "git foo" command.

One could construe situations where even that wouldn't help, because git-upload-pack can't pass --exec-dir to git and they can be in different locations - but I think that's crazy.

git.c, upload-pack.c, receive.pack.c and shell.c are the only callers. setup_path() needs to get a parameter. If shell.c should profit from the change then it needs to be taught how to pass an absolute path to do_{generic,cvs}_cmd().

So, I guess the general approach (change setup() path and have every caller profit) is OK. OK with you?

Michael
Previous: Junio C HamanoNext: Johannes Sixt
Message 5 of 11 in “git-clone: path or ssh problem with git-upload-pack in 1.6.0?”
  1. Paul JohnstonSep 10, 2008
  2. Paul JohnstonSep 15, 2008
  3. help git-upload-pack find gitMichael J Gruber, Sep 15, 2008
  4. Junio C HamanoSep 15, 2008
  5. Michael J GruberSep 15, 2008
  6. Johannes SixtSep 16, 2008
  7. Michael J GruberSep 16, 2008
  8. Johannes SixtSep 16, 2008
  9. Michael J GruberSep 16, 2008
  10. Michael J GruberSep 15, 2008
  11. Michael WookeySep 15, 2008

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.