代码之家  ›  专栏  ›  技术社区  ›  Rhubbarb

从标记分支

  •  7
  • Rhubbarb  · 技术社区  · 14 年前

    我在这里征求意见。以下问题可以视为特定于SVN的问题,也可以视为更一般的版本控制问题。

    如果一个项目的源要在一个与发布相对应的点上进行分支,也许是为了维护工作,那么它是否更适合:

    (a)标签上的分支,或

    (b)标记复制的节点分支(例如主干上)?

    这两种方法的优缺点是什么?有关系吗?

    谢谢。

    3 回复  |  直到 14 年前
        1
  •  5
  •   whaley    14 年前

    我建议(b),因为这将允许您使用SVN的合并跟踪(假设您在服务器和客户机端有SVN 1.5+)轻松地将合并返回主干。如果您使用技术(a),那么您必须自己管理合并——假设您不从同一分支进行多个合并,这并不坏。考虑到您正在考虑从一个标签创建一个分支,这通常是用于修补的,您可能最终需要将这些补丁合并到您的主干线中多次,以使这些补丁回到主干中。

    标记是及时获取“快照”或标记特定代码行(无论是主干还是分支)的里程碑的首选方法,其目的是从标记为里程碑的源代码快速构建特定里程碑,或便于在里程碑之间进行区分。除此之外,所有的工作都是在主干和分支之间完成的。如前所述,您可以很容易地找到修订/源标记是从易于使用的 svn log . 例如 svn log --stop-on-copy -v tags/yourtag 将把最新复制的版本放在输出的末尾。这允许您从修订中创建一个分支,即创建标记的活动代码行。

        2
  •  4
  •   Dark Star1    14 年前

    在我看来,如果我打算在以后添加和修补主项目,我将走(a)条路线;如果我打算开发类似的东西,我将走(b)条路线。

        3
  •  0
  •   Rhubbarb    14 年前

    对我自己问题的部分回答是:

    (a)具有分支机构更明显地与特定的发布或发布候选关联的优势

    (b)具有与分支相关联的主干修订更为明显的优势

    无论采用哪种方法,都可以从另一种方法建立一个标记,尽管从标记中找到主干可能比从主干中找到标记更容易。因此,在这方面,(a)似乎更可取。

    另外:当将分支维护合并回主干时,(B)似乎是更自然的选择。

    我欢迎任何进一步的意见、想法或联系。