git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: David BrownNext: Michael Poole
Message 3 of 13 in “Git push over git protocol for corporate environment”
  1. Eugene SajineSep 30, 2009
  2. David BrownSep 30, 2009
  3. Jakub NarebskiSep 30, 2009
  4. Michael PooleSep 30, 2009
  5. Shawn O. PearceOct 1, 2009
  6. Marius Storm-OlsenOct 1, 2009
  7. Shawn O. PearceOct 1, 2009
  8. Eugene SajineOct 2, 2009
  9. Shawn O. PearceOct 2, 2009
  10. Eugene SajineOct 2, 2009
  11. Ismael LucenoOct 2, 2009
  12. Jakub NarebskiOct 4, 2009
  13. Matthieu MoyOct 4, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.