somemo's diary

プログラマ、雑記、プログラミング関係はLinkから、数式はこっちでまとめていることが多い

【Subversion】branchのマージ【TortiseSVN】

TortiseSVNでbranchの内容をtrunk(trnkディレクトリにないけど・・・)にマージしたときのメモです。

ディレクトリ構成

repo
├branches
│└プロジェクト名_ブランチ用suffix
│
└プロジェクト名(trunk扱い)

本来は以下のような構成であるべきだと思います。

repo
├branches
│└プロジェクト名_ブランチ用suffix
└trunk
  └プロジェクト名

しかし、SVNでのtrunk/branches/tagsはあくまで運用上の習慣だそうです。そのため、必ずこうあるべきというものではないようです。trunk/branches/tagsを前提としたツールにとっては困るのかな?

マージ

今回行ったのは、マージタイプ「異なる2つのツリーをマージ」です。異なる二つのブランチ間の差分を作業コピーにマージしたい場合に利用します。

以下手順です。

  1. まず、trunkをチェックアウトして作業コピーを作成します。
  2. TortiseSVNのメニューからマージを選択します。
  3. マージタイプ「異なる2つのツリーをマージ」を選択し、次へボタンを押下します。
  4. 元に、trunkのURLを入力します。
  5. 先に、branchのURLを入力します。
  6. マージの設定はデフォルトのままです。(マージする深さ:作業コピー、空白を比較)
  7. マージのテストを行い、事前に競合が発生するかを調べておきます。
  8. マージボタンを押下したら、trunkに対してコミットを行い完了です。

以上です。