Subject: Re: configuring git public repository

From: Jakub Narebski <[email-masked]>
Date: Fri, 12 Sep 2008 05:57:52 -0700 (PDT)

"Ciprian Dorin Craciun" <[email-masked]> writes:

> On Fri, Sep 12, 2008 at 7:47 AM, sagi4 <[email-masked]> wrote:
> >
> > Hi all,
> >
> > I am new git..
> >
> > I would like to configure git as a public repository for my rails
> > application..
> >
> > Please help me..

First, I think you can find required information in many documentation
avaliable online, like "Git User's Manual" (distributed with Git), or
Got Community Book from http://git-scm.com
 
> If I'm correct, you have two major options:
> -- install your own git infrastructure:
>    -- by using git-daemon and serving the git repository throught
>       git://...;

Note that git:// protocol is meant only for _fetching_ (although you
can configure it for pushing, it is a good option only in very narrow
set of circumstances). And you would have ensure that your firewall
allows git traffic.

>    -- by using gitweb? and serving it as http://...;

Gitweb (and cgit, and git-php) is _web interface_ to repository, which
means that you can check the state of repository, view current version
and the log of changes, and many other things from a web browser.  All
of those require installing either as CGI module, or some other module
for web server having installed.

To have read-only HTTP access you only need to put your repository in
a place where your web server will see it.  Well, that and ensure that
git-update-server-info is run, for clients to be able to know latest
state of the repository.  Usually it is done using 'update' hook; it
should be enough to enable example hook (if you use bare repository as
published repository).

To be able to push via HTTP you have to set WebDAV and appropriate
permissions on web server. See the documentation.

>    -- by using ssh and serving it as ssh://... (this is
>       appropriate mostly for private repositories);

Usually you would want to restrict access by using git-shell, and
perhaps ease configuring permissions using either Gitosis (see also
BlogPosts on git wiki) or ssh_acl.

>  -- using an existing Git hosting service like:
>     -- (of course) http://repo.or.cz/
>     -- http://github.org/
>     -- http://gitorious.org/
>     -- see also http://git.or.cz/gitwiki/GitHosting
> 
> For open-source / public repositories I would opt for using an
> existing hosting service.

For Rails application I would check what other Ruby on Rails people
use. I would guess that it would be either Rubyforge or GitHub.
 
HTH.
-- 
Jakub Narebski
Poland
ShadeHawk on #git