Re: git-daemon breakage in 1.5.4
- From
Scott Parish <srp@srparish.net>
- Date
- Feb 5, 2008, 17:49 UTC
- Message-ID
- <AC76050F-D727-4952-A528-55827D5B707B@srparish.net>
- In-Reply-To
- <BE051395-F4E1-428B-89B3-5D01BEA42C71@wincent.com>
On Feb 5, 2008, at 7:39 AM, Wincent Colaiuta wrote:
Show 13 quoted lines
> I just noticed that my copy of git-daemon running from xinetd on > Red Hat Enterprise Linux 3 has been broken since upgrading to 1.5.4. > > Nothing printed to the logs on the server side: it simply hangs up. > By connecting via telnet I've confirmed that git-daemon is running > and does accept the initial connection. > > The verdict according to "git bisect" is that > 511707d42b3b3e57d9623493092590546ffeae80 is first bad commit: > > Does that look like it might be the issue? Anyone familiar with > that part of the code care to comment? Any other info I can provide > that might shed light on the problem?
Prior to that patch, execv_git_cmd called execve in a loop to find the command to run. The above patch added a setup_path() api to setup PATH and then called execvp() to do the looping. The problem in this case is that daemon is never calling setup_path(), so the builtin path (among others) aren't getting included in the PATH.
You should see the problem go away if you run "git daemon" instead of "git-daemon". Given that directly using the dash versions of the commands are discouraged, it probably wouldn't hurt doing this anyway. I'll work up a patch later today.
sRp