Mercurial队列:如何有效地重新排序补丁

时间:2015-02-27 15:37:33

标签: mercurial mercurial-queue

假设我的mercurial队列中有以下补丁:

$ hg qser -v
 0 A p1
 1 A p2
 2 A p3-StupidPatch
 3 A p4
 5 A p6
 ...
15 A p15

现在假设我要做的是重新排序补丁,以便p3-Stupid补丁是最后一个补丁。 IE:

$ hg qser -v
 0 A p1
 1 A p2
 2 A p4
 3 A p6
 ...
14 A p15
15 A p3-StupidPatch

我知道我可以这样做:

$ # Pop patches until p2
$ hg qpop p2
$
$ hg qser -v
 0 A p1
 1 A p2
 2 U p3-StupidPatch
 3 U p4
 5 U p6
 ...
15 U p15
$
$ # Push patches one by one
$ hg qpush --move  p4
$ hg qpush --move p5
$ hg qpush --move p6
$ hg qpush --move p7
$ hg qpush --move p8
$ hg qpush --move p9
$ hg qpush --move p10
$ hg qpush --move p11
$ hg qpush --move p12
$ hg qpush --move p13
$ hg qpush --move p14
$ hg qpush --move p15
$ hg qpush --move p3-StupidPatch

有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

您可以取消应用所有修补程序并更改文件.hg/patches/series中的顺序。这就是订单真正存储的地方。

答案 1 :(得分:0)

您可以使用hgtk log重新排序这样的补丁:

enter image description here