开源Clearcase替代品

det*_*erb 4 svn windows workflow clearcase dvcs

我正在帮助为新程序设置SCM,我们目前正在决定使用VCS.

此时的主要竞争者是SVN,ClearCase,SVN + DVCS,以及DVCS.

目前,该团队倾向于SVN或SVN + DVCS.我们希望避免ClearCase的费用和管理成本,但需要它提供的工作流程和版本控制选项.我提出了使用DVCS的选择,正在考虑这个想法.

对于DVCS,我们正在考虑Mercurial,Bazaar和Git.团队对SVN很满意,但不认为它会提供所需的多功能性,这就是我们在SVN选项之上查看DVCS的原因.

有没有人有任何建议(例如现有的工具,流程)来进行这样的设置?

关注的问题包括:

  • 易于设置
  • 设置工作流程(开发< - >代码审查 - >测试 - >主干,然后主干 - >集成测试分支 - >发布,并将错误修复放入发布分支),审核(发现错误,何时引入)
  • 生成指标
  • 用于ClearCase的开发人员的合理学习曲线.
  • Windows开发
  • 问题跟踪器集成(可能是Redmine,虽然它不是一成不变的)

Von*_*onC 9

作为ClearCase的管理员,除非您有复杂的合并工作流程,否则我将排除该工具.

您提到的工作流程涉及能够轻松地分支,修复然后合并,这不应该有利于SVN.

习惯ClearCase(特别是非UCM ClearCase)时最大的陷阱是配置规范的"组成".
如果您选择DVCS(Mercurial,Bazaar - 或Git,因为它在Windows上运行良好),您将无法获得相同的"继承效果" - (当您选择具有不同连续选择规则的不同版本时 - -:正如那个答案所说:

在纯粹的中央VCS中,您可以使用您想要的任何规则定义您的工作区(在ClearCase中,您的"视图"快照或动态).
这在DVCS中是不实际的(如在"分布式"中):当您使用它创建分支时,您需要使用起点和明确定义的内容并轻松复制到其他存储库.

如果您使用的是ClearCase UCM,则意味着识别一致的文件集,这些文件只能通过 - 例如 - Git子模块来实现.
DVCS的复杂性更高,因为它们不像ClearCase UCM那样记录模块之间的依赖关系(或"文件集").

所以,回顾一下:

  • 易于设置:所有提到的DVCS都易于设置.必须考虑的是用户访问方面的管理.
  • 设置工作流程:DVCS支持任何类型的工作流程,甚至是集中式工作流程,或公共 - 私有工作流程,或......对于发现错误,它们都支持某种平分过程.
  • 生成指标:如果你的意思是"关于代码管理的指标",它们都支持一些完整的日志系统,能够显示有关已发生变化的大量信息.
    但就"关于工具的指标"(数据占用的流程或空间的速度)而言,所提到的DVCS工具被认为比SVN快得多(在此处作为示例).
  • 用于ClearCase的开发人员的合理学习曲线:GUI可以成为缓解学习曲线的一个因素,但DVCS与ClearCase非常不同,正如这个" 核心概念 "的答案所示.
  • Windows开发:它们在Windows平台上运行良好,可能与Mercurial或Bazaar略有优势(更好的集成).
  • 问题跟踪器集成(可能是Redmine,虽然它不是一成不变的):Redmine现在支持大多数(而不仅仅是SVN,就像它在开始时那样)