Closed. This question needs to be more focused。它当前不接受答案。












想要改善这个问题吗?更新问题,使它仅关注editing this post的一个问题。

4年前关闭。



Improve this question




我目前正在与其他五个开发人员一起进行一个项目,并且我们正在将Subversion用于我们的版本控制系统。我们已经确定,在我们的软件首次发布之前,我们有12个里程碑。我们使用版本号(0.1到0.12)和描述性标签标记了里程碑。例如:
  • 0.1-导航
  • 0.2-搜索
  • 0.3-用户管理

  • 但是,每隔几个里程碑,都会有一个由以前的里程碑组成的外部发行版。因此,我们最终将得到如下所示的内容:
  • 0.1-导航
  • 0.2-搜索
  • 0.3-用户管理
  • 0.4-Alpha 1

  • 这些里程碑中的每一个都可以并行开发,但也需要并行进行质量检查。为此,我们在每个里程碑的子版本中创建了分支,并简单地标记了该里程碑的版本号。自动化系统将独立构建每个里程碑,并使用构建应用程序的里程碑编号和Subversion版本号对应用程序进行版本控制。版本号在应用程序中突出显示,以便质量检查团队查看版本号时,他们可以将其绑定(bind)到特定的里程碑,并知道需要进行质量检查的内容和不需要进行质量检查的内容。里程碑通过质量检查后,它将被合并到主干中,并且任何进行中的开发都将使用最新代码进行更新。

    但是,有一个假设(正确地是这样),即版本号的增加包括所有以前的版本。不幸的是,上述方案可能不会发生,因为一个里程碑可能会在另一个里程碑之前完成。例如,0.3可能会在0.1之前完成。这意味着我们将拥有内部0.3版本,其中不包含0.2或0.1的功能。

    这是我的问题。当几个并行发行版(内部或其他发行版)可能非顺序完成时,如何智能地对软件进行版本控制?

    最佳答案

    我认为您不能这样做,因为您有相互矛盾的目标-并行开发和顺序里程碑。

    您可以推迟发布0.3版本,直到0.1和0.2完成为止,或者您必须考虑另一种分配里程碑编号的方法。

    也许不使用0.1等,而是可以根据里程碑的名称来命名里程碑,这可以增加清晰度并消除困惑。

    关于svn - 如何对可能无法顺序完成的并行开发的里程碑进行版本化?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/185014/

    10-15 04:20