Re: Error cloning from Git Repository
From: Michael J Gruber <hidden>
Date: 2016-06-15 22:46:45
[I'm putting the list back on cc:, I assume that's in your interest.] kanagesh radhakrishnan venit, vidit, dixit 12.05.2009 05:19:
Hello Michael and all, Thank you for the response. The version of git on the client machines that I have tried on are 1.5.4.3 and 1.6.2.1. Please see my replies inline. Thanks and regards, Kanagesh On Fri, May 8, 2009 at 1:20 PM, Michael J Gruber [off-list ref] wrote:quoted
kanagesh radhakrishnan venit, vidit, dixit 08.05.2009 06:05:quoted
Hello All, I am trying to setup a git repository and then publish it using git-daemon and inetd for other developers in the network to access the sources. Server Setup ------------------- Host system running on Fedora Core 8 Git version 1.5.4.3 A summary of what I have done to setup the Git server is as follows: $ mkdir /home/kanagesh/test-repo $ cd test-repo $ vi test.c <insert text, save, quit> $ git-init-db $ git-config user.name kanagesh $ git-config user.email rkanagesh@gmail.com $ git-add test.c $ git-commit -a -m"Initial Commit" # mkdir -p /var/cache/gitI assume you're doing a "cd /var/cache/git" before the next lines ;)Yes, indeed. I am doing that :-)quoted
quoted
# ln -s /home/kanagesh/test-repo/.git test-repo # ls -l test-repo -> /home/kanagesh/test-repo/.gitDoes "nobody" have access to /var/cache/git and /home/kanagesh/test-repo/?The only user who seems to have access to these folders is 'kanagesh' However, a git-clone command issued by user kanagesh also results in the same failure.
Do you mean git-clone with a remote URL (git://ip/...)? In that case your local user does not matter at all: git-clone talks to git-daemon, git-daemon runs as "nobody" (per your inetd config), and "nobody" has no access to the repo. If you use git-daemon you need to make sure that the user which git-daemon runs as can access the repo. For a quick check you can run git-daemon as kanagesh and restart it. The real solution is to make the repo accessible to "nobody", or better yet to a dedicated user "gitdaemon" or such which you create and which would be the user to run git-daemon.
How can I provide you with more information for this?quoted
quoted
xinetd has been setup to listen for git requests on port 9418 and spawn git-daemon. This has been done by placing a config file named 'git' under /etc/xinetd.d. The contents of the config file is as follows: service git { disable = no type = UNLISTED port = 9418 socket_type = stream wait = no user = nobody server = /usr/local/bin/git-daemon server_args = --inetd --export-all --base-path=/var/cache/git --syslog --verbose log_on_failure += USERID } Clone from the Server ------------------------------- When I attempt to clone the source from the Git server, I end up with the following error: [kanagesh@localhost test]$ git-clone git://192.168.13.171/test-repoWhat is the git version on the client?quoted
Initialized empty Git repository in /home/kanagesh/work/test/test-repo/.git/ fatal: The remote end hung up unexpectedly fetch-pack from 'git://192.168.13.171/test-repo' failed. On checking the log messages in /var/log/messages, I see the following: May 7 17:29:19 localhost xinetd[17108]: START: git pid=17128 from=::ffff:192.168.13.171 May 7 17:29:19 localhost git-daemon: [17128] Connection from 192.168.13.171:42360 May 7 17:29:19 localhost git-daemon: [17128] Extended attributes (21 bytes) exist <host=192.168.13.171> May 7 17:29:19 localhost git-daemon: [17128] Request upload-pack for '/test-repo' May 7 17:29:19 localhost xinetd[17108]: EXIT: git status=255 pid=17128 duration=0(sec) Can anyone tell me what I am doing incorrectly? Any pointers on how to get a more verbose log from git-daemon would also be very helpful. Thanks in advance. Regards, Kanagesh