意外とまとまった情報がないのでメモがてら。動作確認は mercurial 1.8.1。mq を使って以下のようにすると、だいたい意味的に同じになると思う。
% hg qnew temp
% hg qpop
(do something)
% hg qpush
% hg qrefresh -
% hg qpop -f
% hg qdelete temp
まあ、mq を使うのであれば別に git stash を完全に再現する必要はなくて、以下のような流れでもいいと思う。
% hg qnew temp
% hg qpop
(do something)
% hg qpush
(continue editing)
% hg qrefresh -e
% hg qfinish -a
手順が長いのでシェルで alias 作ってしまってもいいけど、mq のまま使った方が応用も効くしいいような気もする。
追記:
複数 stash したい場合はこんな感じでしょうか。
% hg qqueue -c temp1
% hg qnew x
% hg qpop
(do something and stash another changes)
% hg qqueue -c temp2
% hg qnew x
% hg qpop
(do something and go back to temp1)
% hg qqueue temp1
% hg qpush
% hg qrefresh -
% hg qpop -f
% hg qqueue patches
% hg qqueue --purge temp1
コメント
vim でタブを使う
CleanArchiver alpha その3
surrounding について考える