Subject: Re: can not clone via git:// anymore

From: Hinko Kocevar <[email-masked]>
Date: Wed, 04 Mar 2009 14:28:40 +0100

Michael J Gruber wrote:
> Hinko Kocevar venit, vidit, dixit 04.03.2009 12:24:
>> Hi,
>>
>> I've recently discovered that my GIT repository is not letting me clone it via git clone git://.
>> It works using git clone git@.. (SSH) but with GIT protocol..
>>
>> Here is the case:
>> hinkok@alala /tmp $ git --version
>> git version 1.6.0.6
>> hinkok@alala /tmp $ git clone git://zidar/sdk.git
>> Initialized empty Git repository in /tmp/sdk/.git/
>> fatal: The remote end hung up unexpectedly
>>
>> My earlier clone (few months old) has this in .git/config:
>> hinkok@alala /work/git/sdk.git $ cat .git/config 
>> [core]
>> 	repositoryformatversion = 0
>> 	filemode = true
>> 	bare = false
>> 	logallrefupdates = true
>> [remote "origin"]
>> 	url = git@zidar:repositories/sdk.git
>> 	fetch = +refs/heads/*:refs/remotes/origin/*
>> [branch "master"]
>> 	remote = origin
>> 	merge = refs/heads/master
>>
>>
>> But I remember cloning via SSH that time, because I needed git push to work,
>> but now other developer do not need the SSH access, but only GIT read-only -
>> they can only clone, not push.
>>
>> I do not administer the server git repos is located on, so I must have some
>> information before I attack the admin..
> 
> Sorry in case this is trivial, but has git: access ever worked? It

It did. I found this repos on the server that used git to checkout the repo:
CETRTAPOT\zidarhw@zidar:~$ cat sdk/.git/config 
[core]
	repositoryformatversion = 0
	filemode = true
	bare = false
	logallrefupdates = true
[remote "origin"]
	url = git://zidar/sdk.git
	fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
	remote = origin
	merge = refs/heads/master

> requires a git daemon running on the server, whereas ssh access does not
> require that. git@zidar:repositories/sdk.git uses ssh access.
> 
> Michael

git-daemon was/is running:

CETRTAPOT\zidarhw@zidar:~$ ps -ef | grep git
root      3207     1  0 14:15 ?        00:00:00 runsvdir -P /etc/service log: d user: `gitlog:adm'?chown: invalid user: `gitlog:adm'?chown: invalid user: `gitlog:adm'?chown: invalid user: `gitlog:adm'?chown: invalid user: `gitlog:adm'?chown: invalid user: `gitlog:adm'?chown: invalid user: `gitlog:adm'?chown: invalid user: `gitlog:adm'?chown: invalid user: `gitlog:adm'?chown: invalid user: `gitlog:adm'?chown: invalid user: `gitlog:adm'?chown: invalid user: `gitlog:adm'?
root      3208  3207  0 14:15 ?        00:00:00 runsv git-daemon
root      3373  3208  0 14:16 ?        00:00:00 git-daemon --verbose --base-path=/var/cache /var/cache/git
11418     3399  2762  0 14:16 pts/0    00:00:00 grep git

But after doing:
/etc/init.d/git-daemon stop
/etc/init.d/git-daemon start

Nothing much happened (this is on Ubuntu 8.04.1)!

After a while I managed to get git-daemon to die properly
- '/etc/init.d/git-daemon stop' didn't do that. After
'/etc/init.d/git-daemon start' the git clone git://.. works!

hinkok@alala /tmp $ git clone git://zidar/sdk.git
Initialized empty Git repository in /tmp/sdk/.git/
remote: Counting objects: 62636, done.
remote: Compressing objects: 100% (49201/49201), done.
Receiving objects:  40% (25055/62636), 59.97 MiB | 11069 KiB/s   

Thank your for the 'obvious' I haven't checked myself!

Best regards,
Hinko

--
Hinko Kočevar, OSS developer
ČETRTA POT, d.o.o.
Planina 3, 4000 Kranj, SI EU
tel     ++386 (0) 4 280 66 03
e-mail  [email-masked]
http    www.cetrtapot.si