CoolなEclipseプラグイン(15)

バージョン管理に便利なSubversiveプラグイン


佐藤里江
NTTデータ 鈴木八重
2007/3/2


 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 プロパティ設定後のコミットダイアログ

2/3

 INDEX
  Page1
  そもそもSubversionとは何か?
Subversionのメリット
  チェンジセットによるリビジョン管理
  ファイルのコピー、リネームによるコミットの履歴の引き継ぎ
  プロトコルにHTTPを利用可能
  柔軟なマージ機能
  フック機能でできること
Subversiveプラグインをインストール
  Trac月でSubversionのリポジトリの作成
  Trac月のインストール
  Subversiveのインストール
Page2
  Subversiveの利用方法
リポジトリを3タイプから選んでインポート
ヒストリービューで履歴を確認
Tracと連携させて開発を「見える化」する
  Page3
  コミットメッセージを好きなようにカスタマイズする
クライアントの認証をSSLで行う
CVSからの切り替えが簡単

CoolなEclipseプラグイン バックナンバー


Java Solution全記事一覧

TechTargetジャパン

Java Solution フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH