我已经使用源代码控制系统大约 10 年了,显然每个系统都有自己的习惯用法和做法。

我目前正在使用 Mercurial 进行 .NET 开发,并且有一个特殊要求,我想知道您的意见是什么才能最好地实现我的目标。

我们开发了一种滚动发布的基线产品。一些客户需要精简产品(由于获得更便宜的许可证)或完成定制工作。我倾向于分支“主干”(Mercurial 中的默认分支),进行定制工作并创建构建。

当在“主干”中完成新工作并且我需要从定制分支进行新构建时,我将使用 hg merge -r CHANGESET_NUM_FROM_DEFAULT_HERE 合并更改,然后进行构建。

这工作正常,但定制分支很快就会充满与“主干”相关的提交,而不是真正的定制功能。这意味着当我需要查看此分支的变更集时,它们会很困惑。

我真正希望它改变分支“连接点”开始的位置,因此定制更改列表仅包含定制 checkin ,但定制分支的父级发生更改。

我尝试使用 rebase 扩展,因为它看起来应该这样做,但它进行了许多合并并且仍然使我的定制分支变得困惑。

有没有办法保持我的定制分支清洁?还是我以错误的方式处理事情?

最佳答案

您的定制分支 现在是 干净的。但是 - 如果你不想在分支日志中看到合并集,只需跳过日志hg help log hg log -r 55:tip --template "{branch}:{rev}\n" -b default hg log -r 55:tip --template "{branch}:{rev}\n" -b default -M
和来自 THG 的图表截图

关于version-control - Mercurial 功能工作 - 保持定制工作干净的最佳实践?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12818343/

10-13 08:36