【问题标题】:Kiln Mercurial Repositories for VersionsKiln Mercurial 版本库
【发布时间】:2013-10-14 14:38:03
【问题描述】:

我们将 Kiln 与 mercurial 一起使用。

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

某种意义上的

"CurrentDevelopment" 和每个已发布版本的存储库,例如已发布版本 13.1 的 13.1。 (还有用户存储库等,如 hginit.com 中所述,但暂时可以忽略)

现在有时我们需要对已发布的版本进行修复。所以我们在发布版本的存储库中修复它。对于 13.1.

然后我们不能将 从 13.1 拉到 currentDevelopment 存储库

这似乎工作正常。

但现在我们可以在“CurrentDevelopment”中做点什么,一个月后我们认识到13.1也需要这种改变,但我不能从CurrentDevelopment 到 13.1 因为我不想在 13.1

中进行许多其他更改

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

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

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

【问题讨论】:

    标签: mercurial merge kiln


    【解决方案1】:

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

    如果您的 Kiln 版本较旧并且没有包含 graft 命令的 Mercurial 版本,您可以使用(类似但不太可靠)transplant 扩展名。 (graft使用Mercurial的合并逻辑,移植只使用patch逻辑)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      • 2014-03-24
      • 1970-01-01
      • 2011-06-08
      • 1970-01-01
      • 1970-01-01
      • 2011-11-13
      相关资源
      最近更新 更多