svn:externals
TortoiseSVNの外部依存の作り方を忘れてしまった。外部依存(キーワード、svn:externals)とは、外部のライブラリをプロジェクトの依存オブジェクトにしてしまう方法です*1。
事例
二つのプロジェクトを考えます。ひとつはアプリケーションプロジェクト「My App」で、もうひとつは、コモンライブラリ(他のプロジェクトでも使えるユーティリティ群)「My Lib」です。「My App」プロジェクトに外部依存として「My Lib」を参加させます。
基本の作成
- 次のように普通のフォルダ構成をリポジトリ用に作成します。
D:/My SVN └ My App/
- 「My App」のフォルダで、「Create repositry here」を実行します。
- 「My App」フォルダで「Repo-browser」を起動します。あるいは、URL:「file:///D:/My SVN/My App」を指定して「Repo-browser」を起動します。
- 「branches」、「tags」、「trunk」フォルダを作ります*2。
- 「trunk」内に必要なフォルダ構成を作成します。たとえば、「src」、「dist」、「resources」などとします。
この時点で、リポジトリは次のようになります(HD上のフォルダ構成ではなく、Repo-browserで表示されるリポジトリ構成です)。
file:///D:/My SVN/My App ├ branches/ ├ tags/ └ trunk/ ├ dist/ ├ resources/ └ src/
じゃぁ、HD上のリポジトリのフォルダ構成はというと、
D:/My SVN/My App ├ conf/ ├ db/ ├ hooks/ ├ locks/ ├ format └ README.txt
「My Lib」も同様にして、URL:「file:///D:/My SVN/My Lib」内に「branches」、「tags」、「trunk」フォルダを作ります。各フォルダは空のままでも構いません。
外部依存の作成
- 「My App」で「Repo-browser」を起動します。
- 「trunk」を選択し、(右クリ)「Show properties」を起動します。
- 「New...」ボタンを選択し、
- 適当なフォルダにCheck outします。
次のような構成のプロジェクトフォルダが作成されます。
E:/My App ├ .svn/ ├ dist/ ├ frameworks/ ├ resources/ └ src/
「frameworks」というのが「My Lib/trunk」フォルダのコピーになります。