gpt4 book ai didi

svn - 你应该如何处理旧的 SVN 分支?

转载 作者:行者123 更新时间:2023-12-03 13:28:11 26 4
gpt4 key购买 nike

我们最近有一个 SVN 分支,它已合并回主干,需要在该特性/功能领域进行更多工作。我建议使用相同的分支,但被告知一旦将其集成到主干中就不应重复使用分支(给出了 SVN 文档中的引用,我现在找不到它)。
这表明一旦您合并回主干,分支就相当无用了,所以我的问题是,一旦不再需要分支,是否应该简单地删除或保留它?

最佳答案

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

mergeinfo 的实现方式不允许你进行后续的重新集成,所以这就是为什么不建议你重用分支的原因。

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

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

  • 删除分支
  • 提交
  • 重新创建分支(在同名路径中分支)
  • 提交
  • 在新分支上工作

  • 当您“重新创建”分支时,在步骤 3 中,mergeinfo 被恢复,因此您可以在将来重新集成而不会出现问题。

    回到你的问题:“所以我的问题是,一旦不再需要一个分支,应该简单地删除还是保留它?”
    我会保留分支,所以它会在 HEAD 修订中可见。让分支消失是令人困惑的(“嘿,我们上周为 0.1 版创建了一个分支吗?”“嗯,我不记得了……检查 repo 历史”)

    至于重用分支,我会使用约定从不重用分支,如果您需要“向它添加一些东西”,请重新创建它。
    但在我看来,使用不同的分支名称要清楚得多。您可能可以使用命名约定来标识分支。例如,原来的将是 branches/Issue-1 和后续扩展 branches/Issue-1.0 、 branches/Issue-1.1 等

    合并信息引用。

    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

    关于svn - 你应该如何处理旧的 SVN 分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2899956/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com