窑汞库的版本

  • 本文关键字:版本 mercurial merge kiln
  • 更新时间 :
  • 英文 :


我们使用窑和汞。

简化描述 我们有 2 种存储库。

某种

每个已发布版本的"当前开发"和存储库,例如 13.1 用于已发布版本 13.1。(还有用户存储库等等,就像 hginit.com 中描述的那样,但暂时可以忽略)

现在有时我们需要对已发布的版本进行修复。因此,我们在已发布版本的存储库中修复了它。对于 13.1。

然后我们可以从 13.1 拉到当前的开发存储库

这似乎工作正常。

但是现在我们可以在"当前开发"中做一些事情,一个月后我们认识到在 13.1 中也需要此更改但我无法从 CurrentDevelopment 拉到 13.1,因为我不想在 13.1 中进行许多其他更改

我知道这是某种"樱桃采摘",我不容易意识到。但是,如果不是很多源代码,我会在 13.1 中重新编码它们。

但是在那之后,当我对 13.1 进行更改并将其拉入当前开发时,我也会拉取 CurrentDevelopment 中已经包含的更改:-/所以在最坏的情况下,我可能会遇到合并失败和重复的代码?我不确定 mercurial 是否会安全地识别出此代码也包含在内。

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

嫁接汞命令是你的朋友。它允许您将更改向后移植到旧分支。

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

编辑。。。我不认为移植命令暴露在当前与窑捆绑在一起的Hg版本的UI中。了解如何在龟中使用移植物不过,命令行应该仍然有效。

最新更新