回转窑Mercurial版本存储库
我们使用水银窑 简化描述我们有两种存储库 某种 “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是否能够安全地识别出该代码也包含在其中 实现这些特定于版本的存储库并处理它们之间的更改的推荐方法是什么?特别是如果在子verison分支中需要更改当前的开发存储库?mercurial命令是您的朋友。 它允许您将更改向后移植到旧分支 如果您的回转窑版本较旧&没有包含graft命令的Mercurial版本,则可以使用(类似但不太可靠)扩展。 (移植使用Mercurial的合并逻辑,移植只使用补丁逻辑) 编辑。。。 我不认为graft命令暴露在当前与cile捆绑的TortoiseHg版本的UI中。看见 但是命令行应该仍然可以工作回转窑Mercurial版本存储库,mercurial,merge,kiln,Mercurial,Merge,Kiln,我们使用水银窑 简化描述我们有两种存储库 某种 “CurrentDevelopment”和每个发布版本的存储库,例如发布版本13.1的13.1。(还有用户回购等,如hginit.com中所述,但目前可以忽略) 现在,有时我们需要对发布的版本进行修复。因此,我们在发布版本的存储库中修复它。对于13.1. 然后我们可以将从13.1拉到currentDevelopment存储库 这似乎很有效 但是现在我们可以在“CurrentDevelopment”中有所作为,一个月后,我们认识到在13.1中也需要进