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

时间:2010-12-01 07:12:27

标签: svn branch

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

我没有使用太多SVN,所以我对分支应该是什么样子没有先入之见。我首先看了git branches,然后“得到”它。

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

鼓励工作流,分支策略和分支绩效(在提交/结账/切换时间方面)POV的答案。

谢谢, JRH

2 个答案:

答案 0 :(得分:4)

有些事情会浮现在脑海中

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

答案 1 :(得分:0)

主要问题是Subversion在跟踪更改和合并信息方面做得很差(例如,目录不是第一类对象,并且没有真正的重命名支持)。一旦尝试在分支之间移植更改,就会开始出现冲突。有些冲突是合理的(两个分支都编辑了同一行)但其他冲突几乎没有解释。

如果您甚至要求明确表示您没有说谎而且您没有过多地使用Subversion,因为这些冲突几乎立即出现:)