5

Mercurial中创建补丁的过程如下:

使用 qnew 创建补丁 -> 进行更改 -> 刷新补丁

如果我已经进行了(未提交的)更改并且我想将它们添加到队列中怎么办?

4

2 回答 2

3

这取决于您的版本,并且看起来它在 1.5.1 中有所更改。

1.5.1 或更高版本

该命令将默认添加任何未提交的更改

qnew 在当前应用的补丁(如果有的话)之上创建一个新补丁。补丁将使用工作目录中的任何未完成更改进行初始化。

早于 1.5.1

你想用qnew -f. 从文档

-f:如果工作目录的内容被修改,则创建一个新补丁。任何未完成的修改都会添加到新创建的补丁中,因此该命令完成后,工作目录将不再被修改。

于 2010-10-05T01:15:17.073 回答
0

实际上,无论是否有未提交的更改,补丁过程的工作方式都是一样的。我总是这样做:

[... make changes ...]

hg qnew -m "foo bar changes" foobar.patch
--> new empty patch at top of queue
hg qrefresh
--> this adds all diffs from 'hg diff' into the current top patch

编辑:@CaseBash 正确地指出我对当前的默认行为是错误的!

于 2010-10-05T06:11:45.240 回答