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