Why won't git-daemon serve my repository?
git, git-daemon
Solution
You need to let `git-daemon` know it may export your repository:
$ git init --bare /tmp/my-repo.git
Initialized empty Git repository in /tmp/my-repo.git/
$ git daemon --verbose --base-path=/tmp --export-all /tmp/my-repo.git &
$ git clone git://`hostname`/my-repo.git
Initialized empty Git repository in /tmp/my-repo/.git/
warning: You appear to have cloned an empty repository.
A far better way is to run it from `xinetd`. Create and tweak `/etc/xinetd.d/git` along the lines of
# description: The git server offers access to git repositories
service git
{
disable = no
type = UNLISTED
port = 9418
socket_type = stream
wait = no
user = nobody
server = /usr/local/bin/git
server_args = daemon --inetd --export-all --base-path=/pub/scm
log_on_failure += USERID
}
Don't forget to `sudo killall -HUP xinetd`. Now, all git repositories beneath `/pub/scm` will be available to anyone who asks.
Problem
I set up `.git` in a directory on my local machine. I then run: ``` mkdir a cd a git init git daemon ``` When I attempt to clone the repository in `a`, I get the following error: ``` mkdir b cd b git clone git://127.0.0.1 Initialized empty Git repository in /b/127.0.0.1/.git/ fatal: The remote end hung up unexpectedly ``` How can I clone my repository over the git protocol?