Originally I try to use gitosis to manage the git repositories in the company, and l开发者_如何学运维ater notice gitolite is kind of enhancement of gitosis.
And also I heard gerrit could be used for the same purpose, but from the description, gerrit is mainly used for code review.
So which is the best way for setting up git server
- using gitolite (for git repo) AND gerrit (for code review) together
- using gerrit ONLY to manage git repository and codereview
Can you give some suggestion ?
BTW: http://gitorious.org/ is considered in the future
If you're going to use gerrit at all, you might as well use it for hosting as well as code review -- the workflow is easier that way, as gerrit will manage merging your reviewed code into its repository, and that's what you want to be publishing -- if you host elsewhere, you're going to have to either set up a method for automatically pulling from gerrit or you're going to have a way for your developers to bypass the code review by pushing their changes straight to the hosted repositories and ignoring gerrit altogether.
Recent versions of gerrit can integrate gitweb, giving you the nice web interface to browse with, but protected by the ACLs you've set up.
I use only gitolite for the fine-grained ACL it provides.
For the code-review part, I use FishEye (not free even though free licenses exist for certain projects) and Crucible (both from Atlassian).
That allows me to separate the two features (ACL vs. Code review) on two separate servers.
You can use gerrit if you need code review, it has its own ssh server that integrate git.
Gerrit use user groups and allow you to specify permissions at desire level, it also have some features to accept contribution from external developers easily, you can force developers to accept some TOS.
精彩评论