Mercurial MQのまとめ [プログラミング]
2chで話題になったので自分の使い方のまとめてみた。
■初期化
hg qinit
■編集、パッチ作成
hg qnew -f [patch_name]
■他の人の更新の取り込み
複数人開発でコミットするときにブランチを作りたくないので
hg qpop -a
hg pull
hg update
hg qpush [-a]
qpop/qpushで適用、未適用ができる。
■順番を入れ替えたいとき
hg qpop -aしてから
.hg/patch/seriesの順番を書き換えてもうまくいく。
本当は正しい方法があるのかもしれんが。
■パッチのコミット化
hg log -l[[:digit:]] で確認 qbaseやqtipなどのタグが増えている。
hg logで確認してテスト用のパッチをコミットしてしまわないようにする。
hg qfin -a
そもそもMQを使うと良いのは
hgで間違ってコミットしたときに消せないから。
MQで仮コミットして簡単にビルド、デバッグまでやってからコミットしてる。
で、確認中に誰かがコミットするかもしれないので、コミット前に上記の更新作業をやってから、コミットする。
独りで使う場合も、複数の変更を1つのチェンジセットにいれるのは躊躇われるので、qnew [-f]でガンガンパッチを作るようにしている。
なお、ヘッドを消したい場合はcloneでリビジョン指定するようだ。
http://mercurial.selenic.com/wiki/PruningDeadBranches
■初期化
hg qinit
■編集、パッチ作成
hg qnew -f [patch_name]
■他の人の更新の取り込み
複数人開発でコミットするときにブランチを作りたくないので
hg qpop -a
hg pull
hg update
hg qpush [-a]
qpop/qpushで適用、未適用ができる。
■順番を入れ替えたいとき
hg qpop -aしてから
.hg/patch/seriesの順番を書き換えてもうまくいく。
本当は正しい方法があるのかもしれんが。
■パッチのコミット化
hg log -l[[:digit:]] で確認 qbaseやqtipなどのタグが増えている。
hg logで確認してテスト用のパッチをコミットしてしまわないようにする。
hg qfin -a
そもそもMQを使うと良いのは
hgで間違ってコミットしたときに消せないから。
MQで仮コミットして簡単にビルド、デバッグまでやってからコミットしてる。
で、確認中に誰かがコミットするかもしれないので、コミット前に上記の更新作業をやってから、コミットする。
独りで使う場合も、複数の変更を1つのチェンジセットにいれるのは躊躇われるので、qnew [-f]でガンガンパッチを作るようにしている。
なお、ヘッドを消したい場合はcloneでリビジョン指定するようだ。
http://mercurial.selenic.com/wiki/PruningDeadBranches
コメント 0