2

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

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

$ hg qci
abort: no queue repository

4

2 回答 2

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
于 2017-03-06T16:01:33.217 回答
0

你不应该再使用 mq 了。相反,使用 histedit、commit --amend 或 rebase。看到这个帖子

于 2017-02-18T21:07:16.793 回答