Re: git-daemon breakage in 1.5.4
- From
Wincent Colaiuta <win@wincent.com>
- Date
- Feb 6, 2008, 08:05 UTC
- Message-ID
- <C8E50E14-B50F-4385-A581-B69262E8E6A5@wincent.com>
- In-Reply-To
- <7vr6fr9noj.fsf@gitster.siamese.dyndns.org>
El 5/2/2008, a las 21:02, Junio C Hamano escribió:
Show 29 quoted lines
> Wincent Colaiuta <win@wincent.com> writes:
>
>> 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.
>>
>> On the client side this is what you see ("git clone" used in the
>> example but you get the same issue with "git ls-remote"):
>>
>> git clone git://git.wincent.com/wikitext.git
>> Initialized empty Git repository in /tmp/wikitext/.git/
>> fatal: The remote end hung up unexpectedly
>> fetch-pack from 'git://git.wincent.com/wikitext.git' failed.
>>
>> 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:
>>
>> commit 511707d42b3b3e57d9623493092590546ffeae80
>> Author: Scott R Parish <srp@srparish.net>
>> Date: Sun Oct 28 04:17:20 2007 -0700
>>
>> use only the $PATH for exec'ing git commands
>
> Perhaps you did not install git on the PATH processes launched
> by your inetd implementation would use?I don't know what PATH environment xinetd provides, but I can reproduce this directly as follows from the command line without any involvement from xientd:
First, set up PATH with all the standard locations, with directories under /usr/local specified first. Git 1.5.4 is installed in /usr/local/ bin:
# export PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/ sbin:/sbin
This fails with the "remote end hung up unexpectedly" error:
# /usr/local/bin/git-daemon --inetd --base-path=/blah -- /blah
Drop the --inetd option and it works with no errors:
# /usr/local/bin/git-daemon --base-path=/blah -- /blah
Now, if I downgrade to Git 1.5.3.8, it works both with and without the --inetd option.
The above behaviour is the same regardless of how I specify the path to git-daemon (ie. absolute or relative, dashed or dashless).
Is there anything I can do to get "git daemon" to be more verbose on failing?
Cheers, Wincent