2008-08-31

自分の作業レポジトリをMercurial Queueに移行した

いまいちMercurial Queue (以下MQ) の使い方がわからなかったので使ってなかったのだけど、週末に自分の作業用のレポジトリをMQに移行した。その際のメモ。

  1. 現在使っている自分自身のハードディスク内のレポジトリからパッチをすべて作成し直す。
  2. バグ毎にパッチを再作成。追加ファイルの場合は、先にhg addしておかないと、パッチの中に入らないので注意

  3. hg cloneをやるか、hg revertをやって、レポジトリをきれいにする。
  4. hg revertをやった場合は、*.origファイルができてしまうので、hg cloneで別のディレクトリにレポジトリのクローン使った方が楽(時間はかかるけど)

  5. hg qinitの実行
  6. .hg/patchesというディレクトリが作成される

  7. hg qimport -n <パッチの名前> <パッチのファイル名>をすべてのパッチに対して実行してパッチをインポート
  8. 先ほどできた.hg/patchesの中にパッチファイルが作成される。hg qimportだとパッチが当てられた状態にはならないので、必要に応じてhg qpushでパッチを当てる。-aオプションを使えば全部のパッチを当ててくれる。

思ったより簡単だった。hg pushなどをする時には、hg qpopでパッチを取り除いておけばいいだけ。

あと注意点として、hg qrefreshでパッチファイルを更新する際、追加・削除のファイルがある場合は、hg qrefreshする前に、hg addhg removeなどを実行しておくこと。この動作にちょっと悩んだ。

0 件のコメント: