为什么在SVN中分支不够好?

我已经听说过Git如何重新设计分支如何工作,以及SVN的分支模型如何搞砸。

我没有使用过多的SVN,所以我对于分支应该是什么样子没有任何先入之见。 我首先查看了git分支,然后“获得”它。

SVN分支有什么实际的缺点?

鼓励工作流POV,分支策略和分支性能(在提交/检出/切换时间方面)提供答案。

谢谢,jrh


想到几件事情

  • 所有分支都存储在中央存储库中。 如果您没有连接到该服务器,或者您的连接速度很慢,则无法快速访问它们。
  • 所有分支都存储在中央存储库中。 这意味着它们是公开的 - 团队中的任何人都可以查看它们。 没有办法保留一个别人无法访问的私人分支。
  • 提交的DAG本身包含​​足够的信息,以便您可以确定当前版本的代码中包含哪些更改,包括来自任意数目分支的更改。 在svn,IIRC中,这是通过使用svn:mergeinfo属性完成的,该属性更加复杂,恕我直言,并且容易出错,因为有人可能会忘记提交已更改的属性。

  • 主要的问题是Subversion使得一个糟糕的工作跟踪变化和合并信息(例如,目录不是第一类对象,也没有真正的重命名支持)。 只要您尝试在分支之间移植更改,就会发生冲突。 有些冲突是合理的(两个分支都编辑了同一行),但其他人没有解释。

    如果你甚至问清楚你没有说谎,并且你没有太多的使用Subversion,因为这些冲突几乎立即出现:)

    链接地址: http://www.djcxy.com/p/49081.html

    上一篇: Why is branching in SVN not good enough?

    下一篇: Most efficient way of setting up a project Pydev PYTHONPATH in Eclipse (Helios)?