Thread (1 message) 1 message, 1 author, 2016-06-15

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/git
I 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/.git
Does "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-repo
What 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help