你应该怎么做旧的SVN分支?

Mr.*_*Boy 18 svn

我们最近有一个SVN分支已经合并回主干,还需要在该功能/功能区域进行更多的工作.我建议使用相同的分支,但有人告诉你,一旦它被集成到trunk中就不应该重新使用分支(SVN文档中的参考已经给出,我现在找不到它).这表明一旦你合并回主干,一个分支是相当无用的,所以我的问题是一旦不再需要一个分支,它是否应该被删除或保留?

Ste*_*non 17

当我整合一个分支时,我将其branches/移至branches/integrated/.保持branches/清洁,以便于查找当前的工作,但也可以轻松地挖掘旧的分支,以查看所做的更改,而无需进行大量的修订版考古.

  • 我称它为分支墓地. (2认同)
  • 为了逗我自己,我也使用"修剪过的旧枝条"的评论 (2认同)

ram*_*ogm 5

SVN 1.5引入了"mergeinfo"属性,允许您轻松地将分支重新集成到主干,同时支持重复的分支更新.这允许您创建一个分支,从主干中perodiocally更新分支,最后将分支重新集成到主干(svn merge --reintegrate).例如,当您创建分支以修复错误或开发功能时,这非常有用.

mergeinfo的实现方式不允许您进行后续重新集成,因此这就是建议您不要重用分支的原因.

当您想要在发布分支上开发错误修复并定期重新集成到主干时,这对于"发布分支"是有问题的.

如果要重用分支,通常的模式是创建一个具有相同名称的新副本(分支):

  1. 删除分支
  2. 承诺
  3. 重新创建分支(在具有相同名称的路径中分支)
  4. 承诺
  5. 在新分公司工作

当您"重新创建"分支时,在步骤3中,将恢复mergeinfo,以便您可以在将来重新集成而不会出现问题.

回到你的问题:"所以我的问题是,一旦不再需要分支,是否应该删除或保留?" 我会保留分支,因此它将在HEAD修订版中可见.分支机构消失令人困惑("嘿,上周我们是否为0.1版本创建了一个分支?""嗯,我不记得了......检查回购历史")

至于重用分支,我会使用约定永远不会重用分支,如果你需要"添加一些分支",重新创建它.但在我看来,使用不同的分支名称要清楚得多.您可能可以使用命名约定来标识分支.例如,原始文件将是branches/Issue-1和后续扩展分支/ Issue-1.0,branches/Issue-1.1等

Mergeinfo参考.

http://blogs.open.collab.net/svn/2008/07/subversion-merg.html http://blogs.open.collab.net/svn/2009/11/where-did-that-mergeinfo-come -from.html


Ang*_*elo 5

来自维基百科:“一旦树枝被切断或以任何其他方式从其来源中移除,它通常被称为一根棍子”

所以我认为你应该在与分支相同的级别创建一个“sticks”目录