On Thu, Nov 20, 2008 at 01:39:12PM -0800, Gary Yang wrote: > > I am working on setting up a git server so that people can clone, pull and push their code at git.mycompany.com/pub/git+project path. > However, I am having challenges. For people who setup their git servers, please share your experneces with me and tell me what I did wrong. > I greatly appreciate it. > > After I made configurations, I ran the command, git update-server-info at the public repository machine. But, I got the error. > > git pull http://git.mycompany.com/pub/git/u-boot.git HEAD > fatal: http://git.mycompany.com/pub/git/u-boot.git/info/refs not found: did you run git update-server-info on the server? > > The file /pub/git/u-boot.git/info/refs dose exist. > > cat /pub/git/u-boot.git/info/refs > 87ee4576c4c31b7046fe2bbbdf309eaba5c3f346 refs/heads/master > > My question: > > Is the contet of /pub/git/u-boot.git/hooks/post-update correct? Should I change "exec git-update-server-info" to "exec git update-server-info"? > > cat /pub/git/u-boot.git/hooks/post-update > #!/bin/sh > # > # An example hook script to prepare a packed repository for use over > # dumb transports. > # > # To enable this hook, rename this file to "post-update". > exec git-update-server-info > > I tried and changed "exec git-update-server-info" to "exec git update-server-info" in /pub/git/u-boot.git/hooks/post-update. But, I still got same error. > git pull http://git.mycompany.com/pub/git/u-boot.git HEAD > fatal: http://git.mycompany.com/pub/git/u-boot.git/info/refs not found: did you run git update-server-info on the server? > > Which one is correct? "exec git-update-server-info" or "exec git update-server-info"? Eventhogh none of them working. > > Below are my settings: > > grep 9418 /etc/services > git 9418/tcp # Git Version Control System > > > grep git /etc/inetd.conf > git stream tcp nowait nobody /usr/local/libexec/git-core/git-daemon git-daemon --inetd --export-all /pub/git > > > cat /etc/xinetd.d/git-daemon > # default: off > # 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/libexec/git-core/git-daemon > server_args = --inetd --export-all --base-path=/pub/git > log_on_failure += USERID > } > > > I am running git at Linux box: > uname -a > Linux svdclw004 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:56:44 EST 2007 x86_64 GNU/Linux > > Are there anything wrong? Please let me know. You tried to fetch from a http url, but your settings make no mention of running a web server. git-update-server-info is only relevant in the context of using a web server to serve git repositories via the same http protocol as is used by web servers everywhere. git-daemon, on the other hand, which is what you show configured here, is used to serve git repositories via a git:// url. Its configuration has no effect on whether using http to fetch a git repository will work or not. Either use a git:// url to fetch the project, or set up a web server which serves stuff under /pub/git. I'll also mention that you appear to have configuration for both inetd and xinetd, which are two generally mutually-exclusive 'super-servers'; and furthermore, your configurations are inconsistent in the arguments they pass to git-daemon: it looks like, were you to replace http:// with git://, the inetd config would work as listed, while xinetd would not. Hope that helps, Deskin Miller -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html