Re: Git push over git protocol for corporate environment
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Sep 30, 2009, 23:43 UTC
- Message-ID
- <m3pr989eyt.fsf@localhost.localdomain>
- In-Reply-To
- <76c5b8580909301613m283c4bfdne8de449ca0fd0987@mail.gmail.com>
Eugene Sajine <euguess@gmail.com> writes:
Show 15 quoted lines
> My problem is that I need the simplest, easiest and fastest solution > from setup and maintenance point of view in a situation when we have a > huge CVS repo with hundreds of modules (projects) in it. My current > understanding is that we are going to pull out project by project from > CVS and create corresponding git repos. > > So, this brings us to hundreds of git repos and over 200 hundred > committers. In this circumstances we don’t want to manage each repo > separately as well as we don’t want to manage each person write access > rights to each repo. > > As I understand the best solution here is git protocol (one port only > on dedicated server and no security as we are in trusted network) with > read and write access configured for all repos on a dedicated server. > What do you think I should do? How to enable push over git protocol?
No, I don't think it is a good solution, as git protocol is by design anonymous and unauthenticated.
To enable push via git protocol, you have to enable 'receive-pack' service for git-daemon (the --enable=<service> option).
> > I would appreciate any recommendation about such set up and any links > to corresponding docs.
You would probably want to use some tool to manage git repositories, like * Gitosis (in Python, requires setuptools), * Gitolite (in Perl), * SCuMD (in Java), or even * ssh_acl
I think Gitosis is most commonly used tool, see links in http://git.or.cz/gitwiki/InterfacesFrontendsAndTools and http://git.or.cz/gitwiki/BlogPosts pages on git wiki.
There are also full-fledged git hosting solutions, usually with web interface to git repositories administration: * GitHub:FI (proprietary, non-free) * Gitorious (Ruby on Rails) * InDefero (PHP, clone of Google Code) * Girocco (Perl + bash, used by http://repo.or.cz)
There are also tools such as repo and Gerrit from Android project (Gerrit is a review board).
Also, depending on workflow used, you might not need for anyone beside project maintainer to have push access to public repository; maintainer would process pull requests from co-developers, from their per-developer forks.
-- Jakub Narebski Poland ShadeHawk on #git