在SVN中从trunk的子文件夹创建分支的后果是什么?



我认为通常情况下,当你进行分支时,你会对整个主干进行分支,但在我的公司,我看到人们对主干的子文件夹进行分支,甚至更深入——除了当你试图在主干中找到正确的目录进行合并时,这会产生任何实际后果吗?

问题不在于分支…它是合并:

永远不要将合并回这样的"子树"文件夹。为什么?Subversion将其合并信息存储到这个子树文件夹中。一旦这种情况发生,就没有人可以再使用归并-重新整合了。

查看更多信息:

避免subtree merge和subtree mergeinfo,只对分支的根目录,而不是子目录或文件

这意味着只要你的主干中有子树合并信息,你就不能使用-reintegrate选项,而你通常应该使用这个选项,因为这样合并会容易得多。

就是你说的。SVN非常灵活,您可以从树中的任何地方进行分支,这令人印象深刻,直到您想要合并它,然后您很难管理您所创建的混乱。现在它有时是有意义的(例如,你有一个顶级目录与其他东西在那里,或者你需要一个非常特殊的本地化分支来修复一个特定的混乱),但一般来说,你想让事情变得简单。

这意味着选择一个根作为你的分支,并坚持使用它,即使这意味着只从顶层分支。事情会变得简单得多。即使这样做,分支的成本也可以忽略不计。

最新更新