Re: How to setup a public reposistory?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux