can't clone git repos via http; info/refs not found

epl picture epl · Oct 31, 2013 · Viewed 18.7k times · Source

I am trying to make a git repository available for read-only access over http.

I am doing it the old-style way because git-http-backend is not available on my host system. That is, I am simply putting the bare repository in a http accessible location.

I created the bare repository successfully on the host using git clone --bare <some-remote-location>.

Now, when I point git to the new clone using git clone http://my.host.name/location, a message reports repository not found.

When I capture network traffic, I see that git is attempting to access http://my.host.name/location/info/refs. This would be expected to fail because there is no info/refs path in the repository. Rather there are info and refs directories directly beneath the repository root.

Evidently the cloned bare repository is not structured as expected by the client. Does anyone know why this might be?

Answer

poke picture poke · Oct 31, 2013

You will need to run git update-server-info on the server to generate the files necessary for the “dumb protocol” to work.