Mercurial的任务控制更难,因为无法更改错误的提交消息

时间:2011-02-08 14:47:48

标签: svn version-control mercurial

我以前使用SVN,我可以通过在提交消息中添加任务编号来跟踪任务,例如:

-m "Task34: done something"

这用于跟踪与特定任务相关的所有更改。可以修改提交摘要中的任何错误(确实发生)。

但是,在Mercurial中,提交摘要无法更改,因此我无法遵循我的任务控制方法。是否有更好的任务管理方法?或者有没有办法更改提交摘要?

1 个答案:

答案 0 :(得分:1)

Mercurial是围绕 不可变 历史记录构建的。每次更改都严格来说是添加新的变更集。例如,通过添加反向(使用backout命令)来删除某些内容,这样您就可以记录错误代码及其在历史记录中的删除(而不是历史记录中的记录)。

该模型是科学家用笔在数字页面上用笔写日记,记录成功和失败。

也就是说,基本的mercurial功能不会修改提交消息,即使它们从未被推过,因为这违背了模型。但是,除非您对代码感到满意,否则还有其他方法可以继续修改代码。你可以使用Mercurial Queues,它是可变的叠加层,它们本身可以进行不可变版的版本化。

然而,如果我是你,我会采用一种包含不变性的工作模式。您将问题ID放在提交中是很好的 - 只需继续这样做,并在描述中具有相同ID的后续更改集中进行任何更新或更正。

然后你就可以做类似的事情:

hg log --keyword Task34

这将立即显示与该任务ID相关的所有更改,如果其中一些“退回以前的尝试,使用foobaz模块再次尝试”这是一个好的做法而不是缺陷。