8

我们目前有2个分店:

/repo/branch/current_version
/repo/branch/next_version

current_version是所有开发人员当前工作的分支。

我们开始下一个版本并从 current_version 的某个点创建next_version分支,而 current_version 的工作仍在继续。在 next_version 我们进行一些开发,在接下来的几个月中,该分支将成为我们的主要分支,所有开发都将在这里完成。

由于 current_branch 有开发,我们定期(比如每 2 周一次)考虑重新设置 next_version。这是为了使两个分支保持同步,因此当所有开发人员最终将放弃 current_branch 并移至 next_release 时,next_release 将包含 current_branch 的所有集成和测试的功能。

问题是变基。实际上,变基是将 current_branch 的最新提交合并到 next_version。因此,如果我在 next_release 中检查已提交文件的历史记录,我将看到的只是合并提交,而不是 current_version 的历史记录(提交/作者/注释)。

我错过了什么吗?

4

1 回答 1

20

不,你没有错过任何东西。这是使用 SVN 进行版本控制的一个大问题。

我在上一份工作中一遍又一遍地遇到它。每次有人向 current_branch 提交某些内容时(坚持使用您的术语),必须手动复制提交消息,以便可以在合并提交消息中使用它。这很快变成了一个巨大的痛苦。

这就是为什么新的版本控制软件出现了更好的合并功能(我想到了 Git、Mercurial 和 Bazaar)。


编辑:显然 SVN 已经解决了这个问题。SVN 1.5 及更高版本包含合并敏感日志和注释。使用标志 --use-merge-history (-g) 与 svn merge 和 svn blame 来查看来自合并分支的提交消息。

于 2009-10-02T02:20:31.847 回答