私は水銀キューをかなり多く使用していて、それらに本当に満足していますが、私が過度に複雑だと思うワークフローが1つあります。パッチで作業しているときに、別のパッチで作業していることに気付くことがあります(たとえば、機能の作業中に見つけたバグを修正したり、別の機能を追加したりした場合など)。私は実際に別のパッチに入れたいと思っています)。
したがって、作業ディレクトリの状態は次のとおりです。適用されたパッチA、B、Cに加えて、パッチCに配置する必要のある変更、および新しいパッチDに配置する必要のある変更。
そのための私の現在のワークフローは次のとおりです。
hg qnew D.patch files-for-patch-D..
hg qnew temp.patch # changes for patch C
hg qpop
hg qpop
# Now I'm on patch C
hg qfold temp.patch # Integrate changes into patch C
# Here I could have patch errors..
hg qpush
私もこのようにできることを知っています
hg qrefresh files-for-patch-C..
hg qnew -m "..." new-feature.patch
このアプローチの欠点は、パッチCのファイルの数が通常多いことであり、それらすべてをコマンドラインに配置する必要があるのは厄介です。パッチDのファイル数は、通常、比較すると少ないです。
私が上で概説したものよりもこれを達成するためのより良い方法はありますか?