我使用源码控制系统大约有10年了,每个系统显然都有自己的习惯用法和实践。
我目前正在使用Mercurial进行.NET开发,我有一个特殊的要求,我想知道您的意见是什么,以最好地实现我的目标。
我们开发了一个基线产品,它是一种滚动发布。一些客户需要精简产品(因为获得更便宜的许可证)或定制工作。我倾向于分支“主干”(Mercurial中的默认分支),执行定制工作并创建一个构建。
当在“主干”中完成了新的工作,并且我需要一个来自定制分支的新构建时,我将使用hg merge -r CHANGESET_NUM_FROM_DEFAULT_HERE合并更改,然后进行构建。
这可以很好地工作,但定制分支很快就会被与“主干”相关的提交填满,而不是真正的定制功能。这意味着当我需要查看这个分支的变更集时,它们是杂乱无章的。
我真正希望它移动的是分支“连接点”开始的位置,这样定制的更改列表只包含定制的签入,但定制分支的父分支会发生变化。
我尝试使用rebase扩展,因为它看起来应该这样做,但它做了很多合并,仍然弄乱了我的定制分支。
有没有办法让我的定制分店保持干净?还是我做错了事情?
发布于 2012-10-11 02:47:44
您的定制分支现在是干净的。但是-如果你不想在分支日志中看到合并集,只需跳过日志
hg help log
选项:
..。
-M --no-merges不显示合并
hg log -r 55:tip --template "{branch}:{rev}\n" -b default
默认值:55
默认值:56
默认值:57
默认值:60
默认值:61
默认值:63
默认值:65
默认值:66
hg log -r 55:tip --template "{branch}:{rev}\n" -b default -M
默认值:55
默认值:56
默认值:57
默认值:61
默认值:65
默认值:66
来自THG的图表屏幕截图

https://stackoverflow.com/questions/12818343
复制相似问题