7

One of the advantages of older version control systems such as CVS and SVN in enterprise development is that anyone can connect to source control and see all the projects that the company has. This can make it easier to get a high level view of what kid of development is happening outside your sprint and also keeps everything in one place and easy to find.

However, distributed version control systems (Git, specifically) use the repository as their base unit. They work best with one project (or several closely related projects) per repository. This makes repository management more difficult in most enterprise environments where it is not unusual to have more than 25-50 projects to support. As far as I have been able to determine, you have to keep a list somewhere else of all the repos you have. There is software available, like GitHub, that help, but that still is an extra step beyond a single connection string and listing the contents of the repository.

What is the best way to deal with the complexity of multiple repositories?

4

You may create your a kind of your own Github or Gitorious

Information how you can do it can be found at Stackoverflow: Is there a Github clone that I can run on my own server?

  • Gitorious is a great piece of software, I use it all the time in a local private setup and it is awesome for what you are trying to do! – Jarrod Roberson Jun 19 '12 at 16:47
3

Pro Git, the completely free book endorsed on Git's homepage explains very well how to setup a central server for managing multiple Git repositories.

http://git-scm.com/book/en/Git-on-the-Server-Gitosis

This is section 4.7 in chapter 4, I think it is a good match for your use case.

1

I use gitolite as far as repository management. This gives you the ability to manage each repository on an individual level down to the branch level very easily.

As far as being able to see all of the repositories at once I know there are solutions for that but I have never had the need for it.

  • We use gitolite, and it allows us to ssh into an account on the server and automatically list all of the repostiories we have access to, as well as what permissions we have for them. – Chris Pitman Jun 19 '12 at 23:44
0

If you are looking for a governable repository management system, try RhodeCode. It has support for forking, LDAP/AD integration, code reviews and pull-requests (coming soon).

0

You should take a tool to manage your repositories as units. Besides gitosis and Gitolite, there's also excellent Gitlab, looking like github.

If you need several repos to build your software, Google, has depot_tools for that, it allows you to pull from different repositories. In simpler cases you can, probably, get by using git submodules. Having a code review in a single place is also a good thing, Facebook's Phabricator allows that.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.