Mercurial 队列:如何有效地重新排序补丁
Mercurial Queues: How to reorder patches efficiently
假设我的 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 补丁成为最后一个补丁。即:
$ 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
有更好的方法吗?
您可以取消应用所有补丁并更改文件中的顺序 .hg/patches/series
。那才是真正存储订单的地方。
您可以使用 hgtk log
像这样重新排序补丁:
假设我的 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 补丁成为最后一个补丁。即:
$ 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
有更好的方法吗?
您可以取消应用所有补丁并更改文件中的顺序 .hg/patches/series
。那才是真正存储订单的地方。
您可以使用 hgtk log
像这样重新排序补丁: