For the client I’m currently doing some consulting for, I recommended that they switch to Git as a version control system as they are currently using Apache Subversion and have regular problems with it. I won’t go into a history of Git or Subversion, but I normally recommend Git or Mercurial over a centralized system like Subversion. Even when run in a centralized setup, a DCVS is far superior in that it lets you do operations offline. I’ve also found Git to handle merging far better than Subversion out of the box.
My client was also interested in a web based UI. Web based UIs like GitHub, GitLab and FishEye make a lot of things easier. Non technical users can go review commits, code reviews, and the code itself among other things. Some packages bundle in issue tracking and tightly integrate it. Most bundle it mechanisms to do code review easily.
I setup two solutions for them. GitHub Enterprise, a virtual appliance provided by GitHub that mirrors their public service quite closely. However, it’s self hosted, and supports enterprise-y features like LDAP integration. GitLab is essentially a GitHub clone, but less polished and mature, with no enterprise support.
I’m a huge fan of GitHub.com, and GitHub enterprise was very familiar to me. The software is very easy to setup, if you already have a virtualization infrastructure (Which my client does). The entire package feels very polished, it’s extremely user friendly, and it’s updated frequently.
GitLab is a good alternative if you don’t have the budget for GitHub enterprise (licenses start at $5000/year) but want the same experience. It’s not quite as polished, and a few things are harder to use. However, you get most of the same experience, and it’s open source. It’s currently under active development, and I plan on making a few pull requests once I get a little more involved in Ruby.
If you’re considering checking them out, GitHub enterprise has a 45-day free trial and is distributed as an OVF virtual appliance. GitLab is a bit more difficult to setup, but it’s also worth taking a look at.