版本的Kiln Mercurial存储库

时间:2013-10-14 14:38:04

标签: mercurial merge kiln

我们使用Kiln和mercurial。

简化说明我们有2种存储库。

某种

CurrentDevelopment ”和每个已发布版本的存储库,例如发布版本13.1的 13.1 。 (还有用户回购和更多,就像在hginit.com中描述的那样,但暂时可以忽略这一点)

现在有时我们需要修复已发布的版本。所以我们在Repository中为已发布的版本修复它。对于 13.1。

然后我们可以将从13.1拉到 currentDevelopment 存储库

这似乎工作正常。

但现在我们可以在“ CurrentDevelopment ”中制作一些内容,一个月后我们就会认识到 13.1 中也需要进行此更改但是我无法从< strong> CurrentDevelopment 至 13.1 ,因为我不希望在 13.1

中进行许多其他更改

我知道这是某种“樱桃采摘”,我不容易实现。但如果不是很多源代码,我的代码会在 13.1 中重新编码。

但在此之后,当我对 13.1 进行更改时,我会将当前开发中的更改拉到 CurrentDevelopment 中: - /最差我可能会遇到合并失败和重复代码?我不确定mercurial是否会安全地认识到此代码也包含在内。

实现这些特定于版本的存储库并处理它们之间的更改的推荐方法是什么?特别是如果在子verison分支中需要更改当前开发存储库吗?

1 个答案:

答案 0 :(得分:0)

graft mercurial命令是你的朋友。 它允许您将更改后端移植到旧分支。

如果您的窑炉版本较旧&amp;没有包含移植命令的Mercurial版本,您可以使用(类似但不太可靠)transplant扩展名。 (移植使用Mercurial的合并逻辑,移植只使用补丁逻辑)

...编辑 我不认为移植命令暴露在目前与Kiln捆绑在一起的TortoiseHg版本的UI中。见how to use graft in TortoiseHg 命令行应该仍然可以工作。