我最近开始研究一个使用 Mercurial 的开源项目。我是 Mercurial 的新用户,所以我阅读了 HG 的书并开始工作。我的目标是编写代码并始终从上游提取和合并更改,以便我可以保持最新状态。我正在研究的领域也正在被其他人大力开发,所以我确实想在很长一段时间后合并我的更改。我克隆了一个仓库。所以,我的工作流程是这样的:
我创建了一个书签 mybook
hg up mybook编写代码
3.1hg commit -m 'new functions'
hg up defaulthg pullhg updatehg up mybookhg merge default转到第 3 步。
在我看来,这是让我保持最新状态的最简单的工作流程。我也只有一个 HEAD,因为我总是合并。
由于我还不是贡献者,因此不允许我将更改推送到远程仓库。
最近我想向项目负责人展示我的工作,他说给我发一个补丁。这就是我卡住的地方。hg out显示 10 个变更集。第一个出现在一个月前。他们的数字是3341, 3342, 3345, 3346, 3349, 3356, 3360, 3365, 3366, 3368。变更集编号3368是提示。
我最近阅读了有关 MQ 扩展的章节。而这个扩展似乎正是我所需要的。但问题是我编写代码时没有使用 MQ 扩展。
那么,如何在已经创建的变更集上使用 MQ 扩展,以便我可以制作一个补丁发送给项目负责人,以便他可以应用它并查看我的更改?
我刚刚发出hg qinit。下一步是什么?发行hg qimport -r 3341给
abort: revision 3341 has unmanaged children
阅读这本书并进一步搜索对我没有帮助。我需要一个建议。
PS 我试过根本不使用 hg 和 MQ:简单diff -urN old/ new/但我想了解如何使用 MQ 来做到这一点。
谢谢你。