Svn ClearCase是否适合我们的开发过程?

Svn ClearCase是否适合我们的开发过程?,svn,process,clearcase,Svn,Process,Clearcase,那么,让我描述一下我们目前的情况。我们是一个由经验丰富的Java开发人员组成的小型团队(6),在一个由SAP和Siebel Configurator组成的大型IS团队中迷失了方向。 虽然所有其他团队目前都在使用VSS,主要是作为一个保险存储系统,但我们的团队已经切换到Subversion(在评估DVCS之后),因为它最适合我们的敏捷方法 现在,每个人都被要求迁移到ClearCase,所有迁移工作都放在VSS用户身上,因为他们是用户中最大的一部分。 由于我们只能靠自己,不知道真正的ClearCas

那么,让我描述一下我们目前的情况。我们是一个由经验丰富的Java开发人员组成的小型团队(6),在一个由SAP和Siebel Configurator组成的大型IS团队中迷失了方向。
虽然所有其他团队目前都在使用VSS,主要是作为一个保险存储系统,但我们的团队已经切换到Subversion(在评估DVCS之后),因为它最适合我们的敏捷方法

现在,每个人都被要求迁移到ClearCase,所有迁移工作都放在VSS用户身上,因为他们是用户中最大的一部分。
由于我们只能靠自己,不知道真正的ClearCase,我们担心它不适合我们当前的工作流程

以下是我们目前每天的工作方式:

  • SVN存储库遵循/trunk、/branchs、/tags结构
  • 每个开发人员在存储库中都有自己的沙箱,用于测试和原型设计
  • 我们集中使用分支来开发新特性,并将它们合并在一起,在将它们提升回主干之前进行一些集成测试
  • 在Java中工作时,我们习惯于进行重构,Eclipse对此有很大帮助。每天都有很多类和包重命名
  • 根据项目的发展情况,某些部分可能会被重用,从而导致一个项目在多个项目中被拆分,原始部分仍然通过svn:external属性进行集成
  • 我们使用关键字替换某些元素,因为这是一种非常简单的方法,可以让测试人员知道他正在测试的修订版本
  • 我们的Subversion存储库链接到Hudson以运行测试套件,并通过标记它们来提升有效的构建
目前我所知道的关于ClearCase的一切是,我们必须通过CCRC(或通过其eclipse插件版本)使用它,并且我们非常鼓励将我们的大多数项目链接到ClearQuest项目以进行问题跟踪管理

您能否告诉我们ClearCase将如何很好地替代我们的Subversion,哪些概念具有精确的匹配(我不关心同义词,但真正关心的是概念),以及在整个过程中您可以预见到什么样的变化


谢谢。

clearcase是我所知道的最强大的版本控制系统。所有枚举任务都受支持。

首先,这里是一些关于ClearCase的文章:

现在:

  • CCRC是指“web视图”,即ClearCase专用web服务器上的快照视图。。。你最好在你的桌面和服务器之间有一个好的局域网

  • 分支是ClearCase中的一级公民,这意味着一个给定的ClearCase视图(这里是快照ccweb视图)将只允许您访问一个分支。如果您习惯于同时处理多个分支,则需要多个视图

  • 所有操作都是每个文件一个文件的,因此在私有分支上工作然后合并的想法很麻烦,因为涉及的合并数量太多。
    我强烈建议为几个开发人员想要解决的特定开发工作开发一个公共分支。
    如果他们想要私有分支和沙箱,他们可以毫无问题地设置一个 (注意:快照视图不能被视为沙盒:当您签入文件时,其他所有开发人员在更新快照视图时都会看到您的更改)

  • 确实支持重构

  • 除了通过链接之外,在ClearCase中并不真正支持svn:external的概念。或者通过UCM基线依赖项。
    您应该知道,使用二进制文件依赖项比使用源代码依赖项更容易:如果您的外部应用程序用于包含下一个项目的数千个源文件,那么在ClearCase中它将很麻烦(由于长时间的更新)。如果您包含一些jar或dll,那么速度会快得多(加上那些将实际部署的jar或dll)

  • 如果使用UCM,则无法将代码从一个组件移动到另一个组件。您必须在新标识的“通用”组件中添加主标签

  • 注:RCS关键字替换为;)我建议使用一个单独的文本文件,其中包含相关重要文件的版本或标签。这适用于交付材料,而不是源文件


Clearcase是一个功能强大的软件配置管理工具,您在日常活动中概述的大部分内容都可以通过Clearcase实现

Clearcase的视图概念类似于您提到的沙盒。 有了配置规范的一些基本知识(从存储库中选择元素版本的一组规则),就可以更容易地进行分支,并且可以很好地支持合并在不同分支中完成的更改

我不确定是否支持的一个活动是关键字替换。即使Clearcase支持不支持关键字替换,您也可以创建一个预签入触发器来自动执行关键字替换

但我不清楚您与Clearcase的所有交互是否仅通过CCRC(Clearcase远程客户端)进行。我没有使用过CCRC,也不知道CCRC支持哪些东西。

Gizmo

我目前正经历着与您相同的问题,除了从另一个角度来看——我是一名ClearCase管理员,试图将团队从SVN迁移到ClearCase

CCRC被吹捧为开发Java的工具。我不完全相信-CCRC(ClearCase远程客户端)的设计是为了帮助开发人员从主基础设施远程工作。代码被保存到桌面上,以帮助提高访问速度——但签入和签出的开销不容忽视

从技术上讲,从CCRC重构是可行的,但如果断开与f的连接,则不可能进行重构