开源Clearcase替代品

时间:2009-06-19 17:40:04

标签: windows svn workflow clearcase dvcs

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

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

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

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

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

担忧包括:

  • 易于设置
  • 设置工作流程(开发< - >代码审核 - > test - >主干,然后主干 - >集成测试分支 - >发布,并将错误修复放入发布分支),审核(找到一个bug,什么时候介绍)
  • 生成指标
  • 用于ClearCase的开发人员的合理学习曲线。
  • Windows开发
  • 发布跟踪器集成(可能是Redmine,虽然它不是一成不变的)

4 个答案:

答案 0 :(得分:9)

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

您提到的 workflow 涉及能够轻松分支,修复然后合并,这不应该有利于SVN。

当您习惯使用ClearCase(特别是非UCM ClearCase)时,最大的陷阱是配置规范的“组成”。
如果您选择DVCS(Mercurial,Bazaar - 或Git,因为它works really well on Windows),您会not be able to get the same "inheritance effect" -- (when you are selecting different versions with different successive select rules --:正如答案所述:

  

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

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

所以,回顾一下:

  • 易于设置:所有提到的DVCS都易于设置。必须考虑的是用户访问方面的管理。
  • 设置工作流程:DVCS支持任何类型的工作流程,甚至是集中式工作流程,或者是公共私有工作流程,或者....对于查找错误,它们都支持某种bisect process。< / LI>
  • 生成指标:如果你的意思是“关于代码管理的指标”,它们都支持一些完整的日志系统,能够显示有关更改内容的大量信息。
    但就“关于工具的指标”(数据占用的流程或空间的速度)而言,所提到的DVCS工具被认为比SVN快得多(参见here as an example)。
  • 用于ClearCase的开发人员的合理学习曲线:GUI可以成为缓解学习曲线的一个因素,但DVCS与ClearCase非常不同,因为这个“core concepts”答案说明了这一点。
  • Windows开发:它们在Windows平台上运行良好,可能与Mercurial或Bazaar略有优势(更好的集成)。
  • 问题跟踪器整合(可能会是Redmine,虽然它不是一成不变的):Redmine现在支持其中大部分(而不仅仅是开头时的SVN)

答案 1 :(得分:3)

Git有什么问题?我现在正在Windows上使用Git。它工作得很好。 如果您想要一些资源管理器集成,Git Extensions非常有用,如果这是您的问题。

答案 2 :(得分:1)

我没有使用clearcase的经验,但希望以下内容对我们有所帮助。你的问题遗漏了我在决定之前会考虑的几条信息。首先你会得到多少源代码?虽然SVN适用于中型到大型项目,对于像Linux内核这样真正庞大的项目,Git会提供更好的性能。你使用什么IDE?虽然Mercurial,Git和SVN都有视觉工作室和eclipse插件,但质量非常好。根据维基百科关于Redmine的文章,您正在考虑的任何SCM系统都将集成。以下博客可能对您有所帮助,因为它书面买了一个以SCM系统为生的人。 http://www.ericsink.com/

答案 3 :(得分:0)

如果您可以放弃需要在Windows上运行的要求,那么我建议您查看Aegis