Mercurial MQ の使用ケース
すぐ忘れるので書いておく。
o 19:b7ef436d60b5 | hokorobi: #1 add to description | issue1 o 18:7020e3ef93d7 | hokorobi: #1 variables, functions name change | issue1 o 17:f3c7fcd636bd | hokorobi: #1 add: check color extension using | issue1 o 16:1f58a8ff935c | hokorobi: #1 add: check color mode | issue1 o 15:e31c75ee6d24 | hokorobi: #1 refactor | issue1 | o 14:0ecbf3e3ca5f | hokorobi: temp improve response |/ issue1 o 13:637b65b7f3b0 | hokorobi: #1 change method, strip CR | issue1 o 12:2e134f0b8a72 | hokorobi: #1 much further list-comprehension | issue1
こんな状態で revision 14 は issue1 からはずしたい。でも後から使うかも。だったら MQ に放り込んどいたらいいんじゃね? ということで開始。
>hg qimport -r 14 >hg qapplied 14.diff >hg qpop 14.diff の適用解除 全てのパッチの適用が解除されました
試しに tip で適用してみる。
>hg qpush 14.diff を適用中 ファイル tpager.py をパッチ適用しています ハンク #2 の適用失敗:161 行目 1 個のハンク(総数 2)が適用失敗 -- 失敗ハンクは tpager.py.rej に保存 パッチ適用の失敗のため処理が継続できません(-v 付き実行で詳細表示) パッチ適用が失敗し、 却下差分は作業領域に残されています 適用が失敗したため、 対処後に 14.diff への qrefresh を実施してください
あら駄目だった。なぜかおもむろに qrefresh(パッチ適用後の状態に手動で修正してからやんないといけないのに……)。適用できたところだけのパッチになっちゃった!
>hq qrefresh
さっきリジェクトされたハンクがファイルになっていたから、こいつとくっつければ元に戻るんじゃね?
>hg qimport tpager.py.rej パッチ tpager.py.rej を追加中 >hg qfold tpager.py.rej -v 1 個のパス要素は、 1 個のパス要素を持つ tpager.py から除外できません 中断: パッチ tpager.py.rej の統合に失敗
駄目でした。メッセージはよくわからん。
まぁ、手動パッチしよう。作業後
>hg qrefresh
んじゃ 14 は MQ に放り込んで、tpager.py.rej は削除しとこ。
>hg qpop 14.diff の適用解除 全てのパッチの適用が解除されました >hg qseries 14.diff tpager.py.rej >hg qdelete tpager.py.rej >hg qseries 14.diff