我在工作区添加了4个补丁。
在创建这些补丁时,我使用了qnew -m "<commit-message>"
。现在我注意到我没有给出正确的提交消息。如何修改所有提交消息?
我尝试了几件事:
$ hg ci
;
abort: cannot commit over an applied mq patch
$ hg qci
abort: no queue repository
答案 0 :(得分:1)
您只能通过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
答案 1 :(得分:0)
你不应该再使用mq了。相反,使用hetedit,commit --amend或rebase。请参阅此post。