Tortoise SVN最佳开发/合并/发布模型,用于复杂的设置

时间:2011-11-10 15:09:17

标签: merge tortoisesvn branch

我们的开发团队在现有项目中工作,并在完全独立的环境中部署。我们所做的工作绝不会被合并回他们的工作,但我们必须与他们保持一致。他们使用传统的主干分支(但不是真正的标签)设置。为生产版本创建一个分支,然后在发布时继续

我们团队的方式,我们将他们的发布分支复制到我们自己的主干(最初),它本身包含主干/分支/标签。在开发期间,我们处于主干上,并标记生产版本。当我们从他们的最新版本更新时,通常不可能从该分支直接合并到我们的主干。从他们的分支开始,合并我们的工作,并最终将其重命名为trunk,似乎更清洁和无故障。

突然之间,我感觉自己像是一个颠覆虚拟文本生成器...

鉴于我们无法改变其他团队工作流程的限制,我们有更好的流程吗?如果我在解释中遗漏了某些内容,请告诉我。

感谢。

1 个答案:

答案 0 :(得分:0)

两个主要原则:

  • 供应商分支
  • 经常合并

由于对规则2的无知,你会像预期的那样得到“合并地狱”

有关更合理的工作流程(请参阅Net中的供应商分支,它有很多信息),您可以

  • 不只是将上游分支复制到您的主干,而是在您的仓库中创建供应商分支(分支),将其与svn:externals链接到源分支(不修复URL中的source-revision,链接可移动的HEAD)
  • 将分支复制到(空)主干
  • 监控提交到上游回购(SVNMonitor,CommitMonitor)和每次提交到上游分支合并您的供应商 - 分支与您的主干( svn 1.6-1.7将比旧版本更好)

完成上游brach并启动new后,您可以在旧分支中编辑外部定义(对于下一个分支URL)或完全删除分支并启动新的(从您的主干中删除所有不需要的,只从新分支内容合并)