不久前,我们使用Microsoft VSS作为我们的版本控制工具,并在每个版本结束后用于创建代码的分支,并将其部署到我们的客户端.
现在我们已经转移到SVN,最近有很多关于标签/分支的讨论,我们应该在开发特定版本后标记/分支我们的代码吗?
SVN实际上为此目的推荐"标签",但也建议不要对此进行任何更改,那么我们将在哪里为此版本提供令人发指的错误修复?
另外一件事就是创建标签和分支,将标签部署到客户端,并填写任何错误,修复将分支,然后再次标记:-(
其他人做什么?
进行发布时,请为其创建标记.例如,发布1.1.0
如果您对该版本有错误修正/更改,请先从该标记创建一个分支,即"稳定分支",通常以".x"命名为最后一个版本号.例如,稳定-1.1.x
合并从trunk到bug的bugfix/change
将更改提交给稳定分支
一旦您认为稳定分支上的足够的错误修正/更改是为了证明新版本的合理性,请从稳定分支创建标记,例如release-1.1.1
继续在trunk上工作,将错误修正合并回稳定分支
重复3-6
在Subversion中它们是相同的 - 它们以相同的方式实现,结果是相同的(除了你的repo层次结构).它们只是对存储库的特定修订版的引用.没有真正的副本.当您开始处理分支(真正意义上的单词)时,您将在新位置使用该资源的新副本.
如果/您需要,您可以随时从标签中创建分支,因此没有理由创建分支和标记.
如果它可以帮助你保持一致,那么继续做下去,但实际上在你开始检查/修改分支之前它没有做任何事情.
(标签/分支都是用cp命令制作的)