Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 从Clearcase迁移_Svn_Mercurial_Clearcase_Dvcs - Fatal编程技术网

Svn 从Clearcase迁移

Svn 从Clearcase迁移,svn,mercurial,clearcase,dvcs,Svn,Mercurial,Clearcase,Dvcs,我们正在从Clearcase迁移到另一个VCS(可能是SVN或Mercurial)。对于已经完成这一转型的公司,他们认为选择另一个风险投资工具的重要因素是什么?他们发现哪些做法缓解了转型?您需要考虑以下几个标准: 您可以支持哪种类型的数据策略(严格的中央存储库,其中只有一部分加载到开发人员工作区,即SVN) 集中存储库还是分散存储库,是否复制了完整的历史记录?(如Mercurial或Git等DVC) 您可能会遵循什么样的合并工作流(具有复杂合并的长libed分支,或频繁的重基) 就(对于SV

我们正在从Clearcase迁移到另一个VCS(可能是SVN或Mercurial)。对于已经完成这一转型的公司,他们认为选择另一个风险投资工具的重要因素是什么?他们发现哪些做法缓解了转型?

您需要考虑以下几个标准:

  • 您可以支持哪种类型的数据策略(严格的中央存储库,其中只有一部分加载到开发人员工作区,即SVN)
  • 集中存储库还是分散存储库,是否复制了完整的历史记录?(如Mercurial或Git等DVC)
  • 您可能会遵循什么样的合并工作流(具有复杂合并的长libed分支,或频繁的重基)
(对于SVN或Mercurial)而言,如果您使用ClearCase UCM,这将更容易,因为基线代表清晰的“时间线”(与“修订版”最接近),您可以使用它导入其他(D)VCS中。
如果不是(Basic Cycase),则需要考虑您需要导入的历史的哪部分。

< P>添加的两个是:

  • 性能:缓慢的开发工具会打断开发人员的思维过程
  • 电源(功能):合并有多好?较新的工具(如git)比旧式工具(如CVS和SVN)具有更好的合并支持和跟踪。Git还提供了非常方便的工具,如二分法,可以加快开发过程
  • 社区支持:该工具的接受程度如何?你不想挑选五年后会被搁置一旁的东西

    • SVN和Mercurial都是优秀的SCM。许多开源项目都使用它们。如果你的选择只局限于这两个,那么你和你的团队必须考虑的是:

      工作流与工作流 您希望如何进行提交和分支?分布式的还是纯粹集中的?这也与公司政策有关。如果你想让一切都集中起来,就去SVN吧。但这并不意味着您不能使用Mercurial拥有中央存储库。 如果您的团队选择Mercurial这样的DVC,这是非常有益的,因为:

      • 每个人都有自己的本地副本。这使他们能够在家工作并进行本地提交
      • 每个人都可以在本地机器上进行本地分支。不要担心在修订版之间进行合并,Mercurial对合并有很好的支持,与SVN相比相对容易
      • 并非每个人都必须具有提交访问权限,因为您可以指定某人作为从其他开发人员的机器上获取修订的守门人。这使您能够在将代码提交到中央存储库之前进行代码审阅

      除此之外,它们都非常好,因为它们都具有良好(足够)的性能、良好的windows支持(,)和良好的文档/书籍(,)。

      第三方支持。系统是否有成熟的Visual Studio SCC提供程序?(SVN是的,Hg尚未成熟)

      日食?两者都有很好的支持


      您的开发人员是否习惯于成为命令行突击队员?那么第三方支持/插件可能不是问题。

      一般来说,我会一直使用分布式版本控制系统(DVCS)。我没有试过mercurial,而是git;但前提是一样的

      如果您使用的是集中式系统,那么您将绑定到该结构。如果您使用的是分布式系统,那么您就不是。但仅仅因为你可以分发它,你就不必这么做。如果在您的团队中有一个单一的中央存储库更有意义,那么就这样做

      你不应该低估当地分支机构的力量。集中式系统中的分支相当麻烦,很少进行开发人员或功能分支。开发人员宁愿拥有多个工作副本,或者在其工作副本中保留不安全的更改,以避免破坏构建。通过一个分散的系统,开发者创建了本地的分支机构。被一个show stopper bug打断,他切换回主分支修复问题,将更改推送到中央存储库,并将更改推回到他的功能分支。工作流程非常流畅

      此外,系统的分布式特性使其成为一个健壮的系统。如果服务器关闭,开发人员就可以像往常一样工作,他们甚至可以在彼此之间交换更改

      最后,开发人员可以把工作带回家,在飞机上、火车上或任何他们喜欢的地方。他们永远不会失去VCS功能,可以做出适当的承诺


      结果是,开发人员在VCS方面的行为是由公司政策而非技术定义的,您可以随时更改您的政策。

      如果您正在从良好的ol Clearcase迁移;-)快速查看塑料SCM。大部分的基本概念仍然存在,但所有痛苦的部分都消失了。它是分布式的。检查以下链接:

      这是一条老线索,但我想贡献一点。在国际海事组织,SVN已经运行了它的路线。公平地说,如果你有大约50个用户,并且没有做很多分支,那么当然,它不会比CC更糟糕。然而,尽管CC很古老,也很复杂,它仍然有很多成熟的功能。因此,如果您是一个成熟的CC商店,SVN将无法满足您的需求。事实上,最好的做法是少分支,从主干开始工作。因此,更好的选择(鉴于上述选择)是Hg。另外,我对DVC有偏见。真正的dvcs就是……而且OSS只有两种选择:Hg和git。和目前的一个商业系统,塑料供应链。如果您习惯于文件历史的可视化表示(vtree浏览器,或CC UCM中的组件树浏览器,想想它的名称),塑料可能是一个更可行的选择。正如我所看到的,它有图形vtree和其他东西,比如分支树浏览器。我记得支持CC时,我们中的许多人会轮流在白板上绘制“流程”模型。塑料是内置的。无论如何,我还是偏向于dvcs