【发布时间】:2011-04-07 18:08:05
【问题描述】:
我维护了一个使用 Mercurial 进行版本控制并使用 Maven 管理的项目。
当我们发布 1.0 版时,我们克隆了一个发布存储库,其中包含错误修复并在主存储库上继续开发。发布仓库在 POM 中有 1.0 版,而开发仓库有 1.1-SNAPSHOT 版。
现在,如何在不影响开发版本的 POM 中的版本号的情况下,将错误修复从发布存储库拉入开发存储库?
【问题讨论】:
我维护了一个使用 Mercurial 进行版本控制并使用 Maven 管理的项目。
当我们发布 1.0 版时,我们克隆了一个发布存储库,其中包含错误修复并在主存储库上继续开发。发布仓库在 POM 中有 1.0 版,而开发仓库有 1.1-SNAPSHOT 版。
现在,如何在不影响开发版本的 POM 中的版本号的情况下,将错误修复从发布存储库拉入开发存储库?
【问题讨论】:
当您将更改拉入开发存储库时,您必须进行合并。如果您在两个存储库中都更改了 POM,那么您必须在第一次合并时解决合并冲突 - 解决它以让 1.1-SNAPSHOT 获胜,并且稍后再次拉取并合并时会很好.
顺便说一句,我实际上希望您先将 POM 更改为 1.0 版,然后分支发布存储库,然后将其从 1.0 更改为 1.1-SNAPSHOT。这样,当您将错误修正拉入开发存储库时,您根本不会有任何冲突。
历史看起来是这样的:
... --- [1.0-SNAPSHOT] --- [1.0] --- [1.1-SNAPSHOT] ----- [M1] -- ... -- [M2]
\ / /
[bugfix 1] --- [bugfix 2] --- [bugfix 3]
【讨论】: