jba*_*ros 6 version-control workflow mercurial dvcs
我有一个与Mercurial相关的工作流程问题(可能适用于其他DVCS).
使用典型的默认/稳定设置设置repo.
您的任务是构建一个新功能,并期望它需要一些时间(月+).在处理此功能时,您会遇到一个错误,您认为应该修复并尽快应用于生产.或者,您可能会注意到一些可以更好地记录的代码.
我的假设是您在默认情况下进行修复,然后切换到稳定并再次进行修复(手动或应用补丁).这是正确的还是应该立即切换到稳定,在那里进行更改然后将stable合并为默认值?
使用补丁似乎对我更有意义.您可以专门针对错误修复进行提交,并在方便时应用该修补程序.我的意思是如果虫子不是太讨厌,就没有必要紧迫和打破你的流量.对?
那么,你如何处理这种情况呢?
谢谢
您可以返回分支点(修订版B
),修复那里的错误(修订版X
),然后将修复程序合并到两个分支(M1
和M2
)中:
-----B--o----o---M1----o---> stable
| /
|---------X bugfix
| \
\--o---o----M2----o-----> feature
Run Code Online (Sandbox Code Playgroud)
这样,您可以通过正常hg merge
操作在每个分支中获得修复; 无需修补,移植或MQ'ing.
将相同的想法更进一步:您可以改为首先回到引入错误的修订版.通过使用此作为修复的基础,您将确保可以将修复合并到包含该错误的任何分支中.
归档时间: |
|
查看次数: |
273 次 |
最近记录: |