我正在帮助为一个新程序设置 SCM,我们目前正在决定一个 VCS。
此时的主要竞争者是 SVN、ClearCase、SVN+DVCS,而且只是一个 DVCS。
目前,该团队倾向于 SVN 或 SVN+DVCS。我们希望避免 ClearCase 的费用和管理成本,但希望它提供的工作流程和版本控制选项。我也提出了使用 DVCS 的选项,并且正在考虑这个想法。
对于 DVCS,我们正在考虑 Mercurial、Bazaar 和 Git。团队对 SVN 感到满意,但不认为它会提供所需的多功能性,这就是我们在 SVN 选项之上考虑 DVCS 的原因。
有没有人有任何建议(例如现有的工具、流程)来进行这样的设置?
担忧包括:
- 易于设置
- 设置工作流程(开发 <-> 代码审查 -> 测试 -> 主干,然后是主干 -> 集成测试分支 -> 将错误修复放入发布分支的发布),审计(发现错误,何时引入)
- 生成指标
- 用于习惯 ClearCase 的开发人员的合理学习曲线。
- 视窗开发
- 问题跟踪器集成(可能会是 Redmine,虽然它不是一成不变的)