目前,我们使用颠复为源的控制,但所有的合并工作,为我们的版本都是手工完成。我们释放一年几次,所以创建一个分支各释放。所有的工作从较早的分支机构必须使它成为以后的。工作在后面的分支机构必须不让它进入先前的(这是在我们的合同)。我相信这就是所谓的宣传模式。

我认为下面的示意图最好的说明了我们所需的工作流程、有分支机构正在创建时的工作开始在一个新的释放,并改变流动,从早期的分支,后来的。

|
1
|
|\
| \ 
| 2 
3 | 
|\| 
4 |
| |\
5 | \
| 6 |
| | 7
|\|\|
| |\|
8 9 |\
| | | \
|\| | 10
x |\| |
  | |\|
  | | | 

a b c d
  • 将这个模型工作的顺利进行颠复使用,尽管缺乏一个有意义的后备箱?
  • 会自动合并跟踪工作,为更新从早期的分支,后来的?
  • 它将确定关闭/删除或忽略的一个分支(在这个例子释放的分支'a')没有重返社会?
  • 它将确定创建特征分支的每个分支,并将合并跟踪工作,为这些?(他们会遵循建议的创建、合并/重新融入社会的模型。)

编辑-添加更多信息。

原因是,传统的不稳定继模式不可能适当说明通过下面的示意图。设有每个版本都不一定完成,以便释放(有些客户可缓慢,以确认的要求)。我们希望传播更改从较早的分支机构以后的尽快。

    a
    |
    1
    |
   b|\ a
    | \ 
    |  2
    3  |
    |  |
    4  |
  b/|c |
  / 5  |
 |  |  6
 7  |  |
 b  c  a

在这种情况下,我们想特征2(完成了在分支一)在分b,但因为这是一个孩子-父合并,因此不支持颠复,它将有许多工作要做。同样,设6会必须手工合并的两倍。我预期这是一个相当缓慢的和容易出错的流程相比,自动跟踪合并。

有帮助吗?

解决方案

如果我理解你的情况,没有什么在你的要求,即使事情复杂的因为你似乎是使他们。你还把太多的重视关于案情的自动与手册合并(后来更多).CVS分支机构已经另一个问题,但未有的方式SVN处理"分支"(即,它不会).

你可以有一个主要(不稳定或稳定的)的发展线路以及建立分支机构为每个客户或释放(或两者)。为特征进行验证,他们或者获得合并后来的主要线路以后的分支机构可以包括这些变化或者你总是合并单向地从父母分支。没有什么需要你来接近的分支和合并不自动比支持你的第一个(混乱)图给你有多个并行的发展行。

要求,你只合并前听起来像是你只需要合并子的修订,从主线,修订后给予支修订。做你的合并这样会让你合并的变化,从任意分支回到了主要行为往往为你喜欢的(因为他们证实与客户),并可应用于推进信,只有经验证的变化是越来越适用。你可以设立自动合并到轨道,复制的修订(见--停止对复制和范围的基于合并).释放枝然后拿起组确认已经发生的变化,从一个定点前进。

SVN"不轨道合并的"任何超过它支持分支机构(它不,他们只是轻份)。你告诉(或svnmerge告诉)的范围,以合并和它适用于这些变化。你可以得到的效果是合同所需要的支持,不管。

来回答你提出了问题:

  • 我不认为模型的你的提议是非常有效的。相反,它具有增长潜力跟踪功能的混乱,因为你可能需要扫描支用的变化和合并进行多次。此外,它无疑会混淆开发人员熟悉SVN和更传统的SVN的组织结构。

  • 肯定的。这应该是相当独立的结构你选择了。你会需要/要跟踪你的修订指无论(或许是通过一些简单的脚本时更糟糕).

  • 肯定的。分支机构已有效地在没有成本SVN在服务器上面。客户面具有成本如果你整个根结账,但这通常是一个愚蠢的事情要做。同样,没有问题的忽视/删除的一个分支。它只是另一个变化的全球层次修订像任何其他复制/删除/重新命名。

  • 应该工作无论"分支"的组织结构。这听起来像有一个也许有点小小的误会上意味着什么,是一个"分支"在SVN.你应该能够建立什么样的你想和执行手册'的合并相对容易,无论以及后来设立了自动合并之后一些客户更新所以你可以理解你的合并的步骤更好一点。

干杯!

其他提示

你说:

所有的工作从较早的分支机构必须 使它成为以后的。工作后 分支机构必须不让它进入前 人(这是在我们的合同)

在这里,如果我们将分支机构与稿(我怀疑你的客户知道或关心的"分支"),我们会得到:

所有的工作从较早版本中必须 使它成为以后的。工作后 释放,必须不让它进入前 人(这是在我们的合同)

我没有看到任何东西在那项要求提出的非常复杂的分支方案的提议-你可以做这与典型的"不稳定的主干"式的发展。要么你有更要求你还没有告诉我们,或者你是工程。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top