我们使用带有 mercurial 的 Kiln。
简化描述,我们有 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 是否会安全地识别出此代码也包含在内。
实现这些特定于版本的存储库并处理它们之间的更改的推荐方法是什么?特别是如果以后在子版本分支中需要更改当前的开发存储库?