2008年4月19日土曜日

TortoiseSVN でプロジェクトを管理する

前提

Subversion がインストールされており、リポジトリが作成されていること。

- リポジトリ repository

バージョン管理の履歴が保存されているところ。リポジトリのバックアップだけはしっかり取っておこう。

(トランクやブランチなどのバージョン管理用語の意味 より)

 

リポジトリ内の管理方針

複数のプロジェクトを Subversion で管理したいとき、どのような構成をとるかについて、次の判断が参考になる。 Subversionでバージョン管理 の「複数プロジェクトとリポジトリ」によると、

・プロジェクト間でリポジトリのデータの共有、移動を行うかどうか?
・コミット時の処理、認証、アクセス許可を同じにするかどうか?
を判断基準に同じリポジトリを使うか別リポジトリにするか判断します

今回はシンプルな使い方をしようと思うので、リポジトリはプロジェクト間で共有する方法をとることにした。

同上の「ブランチ」によると、

Subversionでのブランチ作成は、単なるディレクトリのコピーです。
リポジトリ上に、trunk、branchesというサブディレクトリを設けるTipsが一般的です。2つ方法があり、良いと思う方を使えばよいようです。...

 

各プロジェクト毎にtrunk/branchesを設ける方法

repos
   +--- projA
   |       +--- trunk
   |       +--- branches
   +--- projB
   :       +--- trunk
   :       +--- branches

上記で示された構成をとることにした。

ちなみに、トランクやブランチなどのバージョン管理用語の意味 によると、

- トランク trunk

主流となっているブランチのこと。HEAD とも呼ばれる。ちなみに trunk は幹という意味で、そこから「主流のブランチ」という意味になったのだろう。かばんを意味する trunk も同じスペルだけど、別の意味。

- ブランチ branch

ツリーを分岐させること。ブランチすると分岐元とは別にバージョン管理されるようになり、チェックインされた内容が他に自動的に波及しないようになる。明示的に分岐元と同期することはマージと呼ぶ。
分岐させる理由としては、元のツリーを壊すことなく大規模な機能追加をおこないたいとか、リリースに向けてバグ修正だけをするツリーを作りたいなどといったものがある。

 

リポジトリへの登録

Subversion で管理したいファイルがあるフォルダの上で、右クリック > TortoiseSVN > Import...

 071211-002

 

先ほどの方針に従って、リポジトリの URL は次のように付ける。ただし、リポジトリは、ローカルの D:\develop\svn にあるとする。

file:///D:/develop/svn/プロジェクト名/trunk

071211-003

 

リポジトリからの取得

ファイルを取得したいフォルダに移動して、右クリック > SVN Checkout...

071211-009

 

071211-011

 

参考

 

 

関連記事