*

* SVN Index   * Tips   * Top

Subversion(TortoiseSVN)でマージする方法(手順)(2) バージョン1.5以降 [機能ブランチ]

trunkとは別のラインで、機能の変更 (処理系のバージョンが変わるなどある程度大きな変更)を 専用の作業場所を作ってやりたくなったときは、 ブランチを作成すればよいことを分岐のところで書きました。 これを機能ブランチといいます。 サーバ・リポジトリ・クライアントがすべて バージョンが1.5以上でないと利用できませんので注意してください。 サーバとリポジトリのアップデートは管理者へ依頼してください。

機能ブランチを作成したときは、ブランチ側へ必要な機能を入れていきます。 ただし、定期的にtrunkへ反映された内容をブランチ側へコピーしていかないと、 気がついたときには作業中のブランチは浦島太郎になってしまいます。 そこで、初回は分岐以降に、2回目からは前回のマージ以降に trunkへ反映されたすべての内容を現在作業中のブランチへマージします。 これを時々やっていれば大丈夫というわけです。

もちろん、最後にブランチ側でめでたく機能が完成したときは、 全く同じ要領で逆のこと(ブランチからtrunkへマージ)をすれば、 trunkでも目的の機能が達成されたことになり、 この時点で作成した機能ブランチはお役ごめん(削除が可能)になります。

(ご注意) このページをご利用になった結果の影響については、 一切責任を負いませんので、あらかじめご了承願います。

  1. 「branches/v2/」を「trunk/」より分岐した機能ブランチと考えましょう。 trunk側へはいろいろと新機能が入っていますが、 ブランチ側も別で専用の機能を入れていっています。 ここでは、現時点での本線(すなわちtrunk)へ適用されている すべての内容をブランチ側へ反映させます。

  2. 「branches/v2/」のコンテキストメニュー(右クリックメニュー)より、 [TortoiseSVN] → [マージ]を選択します。 このとき、目的のフォルダそのものを選択してもよいですし、 目的のフォルダに入ってファイル以外の空白部分を選択してもかまいません。 基本的にはフォルダ以下すべてをマージしますので、 単一ファイルを選択しないように注意してください。

  3. 「ブランチを再統合する」を選択して、[次へ]を押してください。

  4. 元のURLのところへは、分岐元(今回の場合はtrunk)を入力します。 作業コピーのところは、マージされる先(右クリックしたところ)を表示しています。 準備ができたら、[次へ]を押してください。

  5. マージする深さを選択します。 「作業コピー」を選択した場合は、 作業コピーをチェックアウトしたときに選択した階層に依存します。 準備ができたら、[マージ]を押してください。

  6. もし、マージの途中でコンフリクトが発生した場合は解決させてください。 その場で解決しても、あとで解決しても、どちらでもよいです。

  7. マージが完了しますので、 正しくマージされていることを(プログラムの場合はきちんと動作することを) 確認してください。

  8. 確認できたら、忘れずにコミットしてください。


shacho@critical.ne.jp
Last modified: Mon Oct 20 18:00:00 JST 2008