管理从ClearCase到SVN的转变

管理从ClearCase到SVN的转变,svn,version-control,clearcase,Svn,Version Control,Clearcase,我在工作中负责从ClearCase到SVN的迁移,我正在为团队定义一个合适的工作流程寻求帮助。我们在一个非常大的代码库上工作,大约有50名开发人员在3个不同的站点上工作。我是一个致力于回购的团队的一员。我们不是开发人员,但我们的工作是在下一版本中合并开发包。我们都不熟悉svn 我们当前在clearcase上的工作流程: dev创建一个专用的brtype(将为他们签出的每个元素实例化) dev在“main”分支中创建一个指向最新版本的视图 开发人员在其分支中编写代码并签入其更改 每月一次assme

我在工作中负责从ClearCase到SVN的迁移,我正在为团队定义一个合适的工作流程寻求帮助。我们在一个非常大的代码库上工作,大约有50名开发人员在3个不同的站点上工作。我是一个致力于回购的团队的一员。我们不是开发人员,但我们的工作是在下一版本中合并开发包。我们都不熟悉svn

我们当前在clearcase上的工作流程:

  • dev创建一个专用的brtype(将为他们签出的每个元素实例化)
  • dev在“main”分支中创建一个指向最新版本的视图
  • 开发人员在其分支中编写代码并签入其更改
  • 每月一次assmebly团队(美国)创建brtype+部件视图
  • 在我们看来:合并、编译、发布
  • 发布后,合并到主分支
  • 重复
  • 在SVN下,我们将无法做到这一点。我主要关心的是磁盘空间。 如果每个开发人员都为他的开发人员创建一个分支,我们将在一周左右的时间内用完空间

    SVN工作流程(提案)

    我想到了使用“patch”命令(我们在unix上工作)

  • Dev签出(只读)主干
  • 代码。生成一个补丁。将其发送给装配团队
  • 组装团队公司应用补丁。登记入住

  • 重复

  • 我的问题是这是一个合理的工作流程吗?如果是,我们可以使用什么工具来:

    • 交付修补程序(某些修补程序在实际开发时间后数月成为发行版的一部分)
    • 合并冲突
    我应该强调,我对回购协议本身的迁移不感兴趣。它已经被处理好了,并且有很好的记录。我的问题是。。。我们将从这里走向何方

    在SVN下,我们将无法做到这一点。我主要关心的是磁盘空间。如果每个开发人员都为他的开发人员创建一个分支,我们将在一周左右的时间内用完空间

    SVN中的拷贝比较便宜,因为只存储了一个diff。您的补丁程序将具有相同的磁盘影响。您可以轻松地以与clearcase工作流相同的方式工作

    在SVN下,我们将无法做到这一点。我主要关心的是磁盘空间。如果每个开发人员都为他的开发人员创建一个分支,我们将在一周左右的时间内用完空间

    SVN中的拷贝比较便宜,因为只存储了一个diff。您的补丁程序将具有相同的磁盘影响。您可以轻松地以与clearcase工作流相同的方式工作。

    您可以在

    节省的优点是“复制”是一个非常便宜的快速操作,因此您可以在恒定的短时间内创建分支或基线/标记,而不管您影响了多少个元素

    与CC相比,CC创建分支实际上是一个零时间操作(这要感谢config spec中管理的延迟分支),但正常的基线策略是一个昂贵的操作,即标记每个元素,但您可以看到任何目录或文件的完整版本树

    因此,您的原始工作流仍然有效,您只需在重新合并到
    主干中时小心即可
    请参阅(使用最新的SVN 1.7),其中需要
    SVN合并--重新整合

    您可以在

    节省的优点是“复制”是一个非常便宜的快速操作,因此您可以在恒定的短时间内创建分支或基线/标记,而不管您影响了多少个元素

    与CC相比,CC创建分支实际上是一个零时间操作(这要感谢config spec中管理的延迟分支),但正常的基线策略是一个昂贵的操作,即标记每个元素,但您可以看到任何目录或文件的完整版本树

    因此,您的原始工作流仍然有效,您只需在重新合并到
    主干中时小心即可
    请参阅(使用最新的SVN 1.7),其中需要
    SVN合并--重新整合