从ClearCase迁移到Mercurial:您的最佳提示?

Rob*_*sto 5 version-control mercurial clearcase

我们很快就会开始用Mercurial取代ClearCase.我听说这是件好事.更改模型与版本模型.未来的浪潮.我准备相信这一点.不过,这有点吓到我了.嘿,Joel Spolsky花了一段时间才找出差异以及如何从Mercurial中获得最大的优势,所以我打赌我会陷入概念陷阱和陷阱.

有没有人有任何真实的"如何理解Mercurial"提示?任何具体的建议,将帮助我弥合概念上的差距.关于不做的事情的任何警告?我很感激听到他们.我已经阅读了与此主题相关的最接近的问题,以及Mercurial巡演和其他一些博客.我主要对我可能遇到的任何陷阱或呃哦感兴趣.任何你能传授的智慧都将受到赞赏.

Ry4*_*ase 6

peepcode满足善变的视频是值得小时$ 9,

至于陷阱,我会说,我认为人们失败的最大方式就是过于依赖"他们过去常做的事情",而不是专注于"为什么他们做那些事情".

人们会反对mercurial的分布式性质来假装文件锁定,但他们这样做是因为合并过去很难,现在却不是.

或者人们会尝试将修订ID自动更新到他们的文件中,因为过去可以在每个文件的不同修订点进行结帐.它不再是,所以在一个地方拥有它很好,通常是这个地方hg id.

或者这是一个大问题 - mercurial做出了不可磨灭的改变 - 在你提交/推动改变之后,没有简单的方法(以及大量的硬/坏方法)来随后改变这种改变.你可以否定它的效果,但你不能回想起并摧毁它.有人第一次推动改变,他们希望他们没有按照这个顺序进行改变:

  1. 该死的!
  2. 我想撤消这个
  3. 我无法撤消这个?!
  4. 这是我听过的最愚蠢的事情!

然后他们做两件事之一:

  • 花时间弄清楚为什么mercurial不可磨灭是一件好事

要么

  • 经历巨大的扭曲,从他们所有的远程回购中删除变更集,并发誓mercurial被打破

最后一件事,做出明智的决定,分析你选择哪种分支方式.我喜欢那篇文章中的选项一,而且它的作者更喜欢不同的一个,但它给出了一个很好的比较对比.

  • 正如我在我的回答中所说,分支政策非常重要:) +1. (2认同)