連載
» 2007年03月02日 00時00分 公開

CoolなEclipseプラグイン(15):バージョン管理に便利なSubversiveプラグイン (2/3)

[佐藤里江, 鈴木八重,NTTデータ]

Subversiveの利用方法

 それでは、早速Subversiveを利用してみましょう。Subversiveは、基本的にEclipseのCVS機能と同じようにインポート、チェックアウト、更新、コミットなどの操作を行えます。ここでは、Subversiveに特徴的な部分を説明します。

リポジトリを3タイプから選んでインポート

 ワークスペース上にあるプロジェクトをリポジトリへインポートします。Subversiveのリポジトリインポートは3タイプ選べるのが特徴です。開発用途に合わせて、インポートの方法を選択してください。

 [パッケージ・エクスプローラー]ビューでインポートしたいプロジェクトを右クリックし、[チーム]→[プロジェクトの共用]を選択します。リポジトリタイプの選択では「SVN」を選択し、[create a new repository location]でインポートするリポジトリURLを入力します。

 次に、[ProjectRepositoryLayout]で以下の3タイプから用途に合ったタイプを選択します。

図3 リポジトリタイプの選択画面 図3 リポジトリタイプの選択画面
  • Use Repository Location layout
    リポジトリ全体でバージョン管理を行うようにします。作成したアプリケーション/ライブラリを同時にすべてリリースするときに利用します。

URL例:http://localhost/svn/MyProject/trunk/HelloWorld1

  • Use single project layout
    Eclipseのプロジェクト単位でリリースを管理します。Eclipseのプロジェクトごとにタグを打てるので、それぞれバラバラのバージョンとして管理します。ライブラリやサブシステムなど、それぞれ別々に入れ替えたい場合に利用します。つまり、プロジェクトごとにタグやブランチを用意したい場合に、便利です。

URL例:http://localhost/svn/MyProject/HelloWorld1/trunk

  • Use multiple projects layout with the specified root name
    複数のプロジェクトをまとめてグループ化して管理できます。各グループ内では、バージョンの同期が取られますが、異なるグループは別々のバージョンで管理されます。Eclipseの複数のプロジェクトでサブシステムをリリースし、サブシステムごとに別のバージョンを割り当てたい場合に利用します。

URL例:http://localhost/svn/MyProject/HelloWorld1/trunk/HelloWorld1

 コミットメッセージを付け、[終了]ボタンを押下すると、インポートが完了します

ヒストリービューで履歴を確認

 履歴を確認したいプロジェクトで右クリックをし、[チーム]→[リソースヒストリーを表示]を選択すると、[SVNヒストリー]ビューに、ディレクトリごとの履歴を表示させることが可能になります。

 CVSでは、ヒストリービューでファイルごとの履歴のみしか確認できないのに対し、Subversiveでは、ディレクトリごとの履歴の確認が可能です。

図4 リソースヒストリー表示画面 図4 リソースヒストリー表示画面

Tracと連携させて開発を「見える化」する

 Tracには、Subversionと連携する機能があります。Subversionと連携する機能により、コミットログからチケットを参照したり、チケットからチェンジセットを参照できるようになります。

コラム チケット

Tracはチケットと呼ばれる管理単位で、故障や機能拡張、タスクなどを管理します。Tracはバグ以外も扱うようになっているのが特徴的です。


 この連携機能を利用すると、リポジトリに「変更」が加えられたときのリポジトリの「差分」を結び付けられるため、リポジトリに対する変更をきちんと管理できるようになります。こうすることで、開発が進んでいく様子を「見える化」できます。

 Trac月には、チケットとの連携機能が最初から備わっていますので、その機能を試してみましょう。コミットログに以下のように記載します。

文字化けするバグを修正しました(refs #1)

 すると、refsで指定されたチケット1に対し、チェンジセットとコミットログがコメントとして追加されます。図5の例を見ると、チェンジセットを示す(In[6])がコミットログの先頭に追加されて、コメントが追加されているのが分かります。refsの代わりにclosesを入力すると、チケットをクローズすることもできます。

図5 TracとSubversionの連携機能により追加されたコメント 図5 TracとSubversionの連携機能により追加されたコメント

 このように故障、機能拡張などの変更要求とソースコードの変更を簡単に行えます。

 チケットとの連携機能は便利ですが、コミットする際に毎回「(refs #1)」と付けるのは面倒です。Subversiveには、バグトラッキングシステム用の組み込みプロパティが用意されており、これらのプロパティを使うと、コミットダイアログでバグIDやチケットIDを入力するだけで、連携できるようになります。

プロパティ
bugtraq:label チケットID
bugtraq:url http://tracserver/trac/ticket/%BUGID% (チケットIDのパス)
bugtraq:message (refs #%BUGID%)

 例えば、上記ののようにプロパティを設定すると、コミットダイアログに下記の図6のようにチケットIDの入力フィールドが表示されるようになり、チケットIDをフィールドへ入力するだけで「(refs #xx)」を自動的に付与してくれるようになります。プロパティを設定するには、プロジェクトを右クリックし、「チーム」→「プロパティの設定」を選択します。

図6 プロパティ設定後のコミットダイアログ 図6 プロパティ設定後のコミットダイアログ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。