如何在HG MQ中更改提交消息



我在工作区中添加了4个补丁。在创建这些补丁时,我使用了qnew -m "<commit-message>"。现在,我注意到我没有给出适当的提交消息。如何修改所有提交消息?

我尝试了几件事:
$ hg ci;
abort: cannot commit over an applied mq patch

$ hg qci
abort: no queue repository

您只能通过qrefresh在队列上的最后一个应用补丁。如果您需要以相同的方式更改所有提交消息,例如在消息前添加问题,然后您可以编写一个可以做到的脚本。假设您已应用所有修补程序,那么我们将qref一个补丁,然后qpop,直到所有这些都更改为止。qheader将为您提供顶级补丁的消息。因此,使用bash脚本大致看起来如下:

amendment="ISSUE-123: "
echo "Let's go and change the patches"
while [ $? -ne 0 ]; do
    hg qref -m "${amendment} $(hg qheader)" && hg qpop
done

您不应再使用MQ。相反,使用"历史",提交 - amend或rebase。请参阅此帖子。

最新更新