Gary Yang wrote:
I followed the steps outlined by the links below. But, I am still not able to setup the public repository. I got, fatal: unable to connect a socket (Connection refused). What I did wrong? Please help. http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#setting-up-a-public-repository http://dtcsupport.gplhost.com/Git/Public-Repo-Howto 0. Prepare your name and email address cat ~gyang/.gitconfig [user] email = gyang@xxxxxxxxxxxxx name = Gary Yang 1. Create an archive to send to the server /home/gyang% git clone http://git.gplhost.com/dtc-xen.git /home/gyang% git clone --bare dtc-xen dtc-xen.git /home/gyang% touch dtc-xen.git/git-daemon-export-ok /home/gyang% tar -cvzf dtc-xen.git.tar.gz dtc-xen.git 2. Install the archive on the web server /pub/git% tar -xvzf /home/gyang/dtc-xen.git.tar.gz /pub/git/dtc-xen.git% git --bare update-server-info /pub/git/dtc-xen.git% mv hooks/post-update.sample hooks/post-update /pub/git/dtc-xen.git% chmod +x hooks/post-update /pub/git/dtc-xen.git% cat 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 3. Configure and start git daemon at the web server /pub/git/dtc-xen.git% grep 9418 /etc/services git 9418/tcp # Git Version Control System /pub/git/dtc-xen.git% sudo git daemon --verbose --inetd --export-all /pub/git &
You shouldn't give "--inetd" when starting from command line. Do like this: sudo git daemon --detach --verbose --export-all --base-path=/pub/git Then clone dtc-xen.git using the following command: git clone git://git.mycompany.com/dtc-xen.git test-git
4. At my local machine. I did /home/gyang% git clone git://git.mycompany.com/pub/git/dtc-xen.git test-git Initialized empty Git repository in //home/gyang/test-git/.git/ git.mycompany.com[0: 10.66.4.168]: errno=Connection refused fatal: unable to connect a socket (Connection refused) ps -efww | grep git root 9626 22321 0 11:31 pts/1 00:00:00 git-daemon --verbose --inetd --export-all /pub/git
Yes, it's waiting for input from stdin, which is what "--inetd" does to a process. Do what I told you above and it'll work just grand. For further troubleshooting, here are some things to try before asking about git-daemon again: ping git.mycompany.com # should show reasonable response times nc git.mycompany.com 9418 # should give "connection refused", or there's a bug somewhere ip=$(host git.mycompany.com | sed -n 's/.*has address //p'); echo $ip # should list the proper ip address ssh root@xxxxxxxxxxxxxxxxx "ip addr show | grep 'inet $ip'" # should list one ip-address ssh root@xxxxxxxxxxxxxxxxx "ps -efww | grep git-daemon" # should list one process ssh root@xxxxxxxxxxxxxxxxx "netstat -tpan | grep 0.0.0.0:9418" # should list the git-daemon ssh root@xxxxxxxxxxxxxxxxx "grep git-daemon /var/log/messages" # might show error messages from git-daemon -- Andreas Ericsson andreas.ericsson@xxxxxx OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231 -- 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