I'm helping get the SCM set up for a new program, and we're currently in the process of deciding on a VCS.
The main contenders at this point are SVN, ClearCase, SVN+DVCS, and just a DVCS.
At the moment, the team is leaning towards either SVN or SVN+DVCS. We want to avoid the expense and administration costs of ClearCase, but want the workflow and versioning options it offers. I brought forward the option of using a DVCS as well, and the idea is being considered.
For the DVCS, we're considering Mercurial, Bazaar, and Git. The team feels comfortable with SVN, but don't think it'll offer the versatility needed, which is why we're looking at the DVCS on top of SVN option.
Does anyone have any advice (e.g. existing tools, processes) for getting such a setup going?
Concerns include:
- Ease of setup
- Setting up workflows (developing <-> code reviews -> test -> trunk, then trunk -> integration test branch -> release with bug fixes put into the release branches), auditing (found a bug, when was it introduced)
- Generating metrics
- Reasonable learning curve for developers used to ClearCase.
- Windows development
- Issue tracker integration (probably going to be Redmine, though it isn't set in stone)