Mercurial如何折叠所有补丁?

4
原来没有hg qfold -a命令。我尝试了hg qfold $(hg qunapp)hg qunapp | xargs hg qfold,但无法使其正常工作。有什么想法吗?
3个回答

3
使用您的xargs方法,您是否记得qfold仅将“未应用”的补丁折叠成一个“已应用”的补丁?这对我(Windows)起作用,将所有补丁折叠到第一个补丁中。
hg qpop -a    # remove all patches
hg qpush      # apply first one
for /f %i in ('hg qunapplied') do hg qfold %i  # fold remaining patches

1

嗯...我们可以添加一个-a标志...但在此之前,我会使用histeditcollapse扩展,或者自己动手做:

$ hg update qparent
$ hg revert --all --rev qtip
$ hg commit -m 'Everything in one commit'
$ hg qpop -a

然后您需要删除补丁 -- 或许您可以完全删除.hg/patches,或者您可以删除其中一些并编辑.hg/patches/series以匹配。


1
shambulator:我没有建议使用 hg qdelete,因为它也缺少 -a 标志。 - Martin Geisler
1
所以也许我们需要加两个“-a”标志 :) - Martin Geisler

0
hg qunapp | xargs -I'{}' hg qfold '{}'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接