# HG changeset patch # User Oleksandr Gavenko # Date 1420732201 -7200 # Node ID 40bb400c925e73c04a7eb453a748c928bc3edced # Parent bdc52dabc6e94b24cc4423bb6d95c5f4248cd15f Split patch in MQ. diff -r bdc52dabc6e9 -r 40bb400c925e hg.rst --- a/hg.rst Thu Jan 08 01:54:26 2015 +0200 +++ b/hg.rst Thu Jan 08 17:50:01 2015 +0200 @@ -390,6 +390,36 @@ $ hg qpop -a $ for patch in `hg qser`; do hg qrm $patch; done +Split patch in MQ. +================== + +Enable built-in extensions:: + + [extensions] + mq= + record= + shelve= + +Then move MQ into working tree and split changes and remove original patch:: + + $ hg qpop my.patch + $ patch -p1 <.hg/patches/my.patch + + $ hg qnew -i my1.patch + .... + $ hg qnew -i my2.patch + .... + $ hg qnew myN.patch # last without interactive stuff + + $ hg qdelete --keep my.patch + +Between ``my$i.patch`` and ``my$((i+1)).patch`` you can use ``hg shelve``/``hg +unshelve`` to test if project built and pass tests on top of ``my$i.patch`` +without later changes! + +If you find that something missing on this stage use ``hg qref`` on shelved +changes or ``hg qref -i`` on unshelved changes! + Proxy. ====== ::