Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper -...

43
Oracle9i JDeveloper リリース リリース リリース リリース 9.0.3 Oracle SCM によるチーム開発 によるチーム開発 によるチーム開発 によるチーム開発 Creation Date: Jan 30, 2003 Last Update: Feb 13, 2003 Version 1.0

Transcript of Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper -...

Page 1: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper

リリースリリースリリースリリース 9.0.3

Oracle SCM によるチーム開発によるチーム開発によるチーム開発によるチーム開発

Creation Date: Jan 30, 2003

Last Update: Feb 13, 2003

Version 1.0

Page 2: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 1

目次目次目次目次

目次目次目次目次 ......................................................................................................................................... 1

はじめにはじめにはじめにはじめに.................................................................................................................................. 2 前提条件 .............................................................................................................................. 2 この資料の表記方法............................................................................................................ 2

Oracle9i SCMとは?とは?とは?とは? ............................................................................................................. 3 環境設定 .............................................................................................................................. 4 アクセス権限....................................................................................................................... 5 接続 ..................................................................................................................................... 6

チーム開発の基本的な流れチーム開発の基本的な流れチーム開発の基本的な流れチーム開発の基本的な流れ .................................................................................................. 10 ワークエリアでの作業 ...................................................................................................... 13 ワークエリアの作成とプライベート・ブランチ .............................................................. 18 ファイル・バージョンの編集と管理 ................................................................................ 24 マージ/プライベート・ブランチの終了............................................................................ 24 ワークエリア仕様の編集................................................................................................... 29

ソース・ファイルの開発と管理ソース・ファイルの開発と管理ソース・ファイルの開発と管理ソース・ファイルの開発と管理 ........................................................................................... 32 バージョン管理(チェックイン/チェックアウト) ......................................................... 32 バージョン情報の表示 ...................................................................................................... 34 ソース・コントロールに関する注意点............................................................................. 39

付録付録付録付録: リポジトリ・ユーザーの登録リポジトリ・ユーザーの登録リポジトリ・ユーザーの登録リポジトリ・ユーザーの登録 .................................................................................... 40

最後に最後に最後に最後に ................................................................................................................................... 41

Page 3: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 2

はじめにはじめにはじめにはじめに

Oracle9i JDeveloper(以下 JDeveloper)は、Javaおよび XML開発者のための、インターネ

ット・アプリケーションやWebサービスの開発・デバッグからデプロイまでを END-TO-END

にサポートする J2EE統合開発環境(IDE)です。JDeveloperでは、XML、HTML、XSL、Java

ソースの他、数多くの情報がプロジェクト内で作成され格納されます。多数の開発者がコ

ード・ファイルや関連するドキュメントの複数のバージョンを作成するような、大規模開

発プロジェクトにおいては、正確なコードが安全に格納・管理されることが非常に重要で

す。

Oracle9i Software Configuration Manager(以下 Oracle9i SCM)は、プロジェクトに関わる

あらゆる情報を一括管理できる格納庫を提供します。Oracle9i SCM は大規模プロジェクト

において、非常に重要な役割を果たします。この資料では、JDeveloper で作成した Java プ

ロジェクトを Oracle9i SCM の環境で管理する方法を説明します。

前提条件前提条件前提条件前提条件

この資料は、JDeveloperがすでにインストールされており、ワークスペースおよ

びプロジェクトの作成などの基本的な操作方法を知っている開発者を対象にして

います。また、Oracle9i SCM のリポジトリがインストールされている状態である

必要があります。Java プロジェクトの管理方法の説明を主旨としているため、

Oracle9i SCMのそれ以外の機能や、JDeveloperそのものの使用方法については触れ

ていません。参考文献を以下に列挙しますので、そちらの資料を参照して下さい。 ��参考文献 - OTN(http://otn.oracle.co.jp/)よりダウンロード可能

�� 『Oracle9i SCM活用ガイド』(以下「SCM活用ガイド」)

�� 『はじめての Oracle9i JDeveloper』およびその他の Oracle9i JDeveloper

チュートリアル・シリーズ

この資料の表記方法この資料の表記方法この資料の表記方法この資料の表記方法

この資料で使用している表記方法は次の通りです。

表記方法表記方法表記方法表記方法 説明説明説明説明 例例例例 太字太字太字太字 ファイル名または URL admin.jar

クーリエ・フォント コマンドやソース・コード java -version

<イタリック> 使用する環境に合わせて変更する部分 <ホスト名>

<JDEV_HOME> JDeveloper をインストール(展開)したディレクトリ

Page 4: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 3

Oracle9i SCMとは?とは?とは?とは?

Oracle9i SCM は、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

ス・ファイル、ドキュメントファイル etc)を、一箇所に格納し統合管理する格納庫(リポ

ジトリ)です。

これまで開発者ごとに、それぞれの開発マシンに散在し管理されていた設計情報を、完

全に一元統合管理し、Oracle Designerをはじめとする様々な開発ツール群で利用することが

可能です。すべての開発者が、開発に必要なすべての情報を Oracle9i SCMで管理する体制

を徹底することにより、他の開発者によって作成された情報を容易に利用できる環境を作

り出すことができます。また設計情報のバックアップが集約されるため、開発者個々のす

べき作業の負担も軽減されます。

Oracle9i SCM での一元管理は、すべての開発メンバーに対して管理環境を一貫させるこ

とができ情報の不整合を回避できます。

Oracle9i SCMは Oracleデータベース上にインストールされます。Oracle9i SCMに格納さ

れた情報は全てデータベースのデータ(BLOB)として扱われます。

連携可能なツールから Oracle9i SCMに接続し、ダイレクトに開発中の情報を格納したり、

Oracle9i SCMに格納されている情報にアクセスして使用したりできます。

尚、Oracle9i SCM は以前のバージョンまで『Oracle Repository 6i』という名称で Oracle

Designer 6iと共に提供されていたコンポーネントでしたが、Oracle9iDS(Oracle9i Developer

Suite)の Release2(9.0.2)から名称変更され、より汎用的なコンポーネントになりました。

Oracle9i SCMは、Oracle9iDSが提供する以下の開発ツールと連携可能です。 �� Oracle9i JDeveloper

�� Oracle9i Designer

�� Oracle9i Forms

�� Oracle9i Reports

�� Oracle9i Warehouse Builder

Oracle9i SCMが提供する主な管理機能には、以下のようなものがあります。 ��格納された情報のバージョン管理

��バージョンの比較、分岐、マージ

��ブランチによる並行開発

��依存性分析

��選択されたオブジェクト・バージョンの構成管理

各機能の詳細は、前述の参考文献の資料を参照して下さい。本ガイドでは、上記の中か

ら JDeveloperで活用できる機能の代表的なものを紹介していきます。

Page 5: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 4

環境設定環境設定環境設定環境設定

Oracle9i SCMおよび JDeveloperは共に、Oracle9i Developer Suite(Oracle9iDS)

の 1コンポーネントです。Oracle9i SCMと JDeveloperを使用した典型的な開発環

境を以下に図示します。

Oracle9i SCM のリポジトリは、多数の表、ビュー、プロシージャから構成され

ており、ソース・コード等の格納・管理を行います。

リポジトリは、Oracle9i SCM が提供している管理ツール「 Repository

Administration Utility (RAU)」を使用して、Oracleデータベース内にインストール

します。インストールの詳細は、Oracle9i SCM のインストレーション・ガイド

「Oracle Software Configuration Manager Repository インストレーション・ガイド」

を参照して下さい。このインストレーションガイドは、 Oracle9iDSがインストー

ルされているWindowsクライアント・マシンのスタート・メニューから、「プログ

ラム→Oracle9i Developer Suite→Oracle9i Software Configuration Manager→Oracle

SCM Repository Installation Guide」を選択すると起動されます。

JDeveloperから Oracle9i SCMにアクセスし利用可能にするには、JDeveloper側で

設定しておく必要があります。以下に設定の方法を示します。

1. JDeveloperを起動し、メニューから「ツール→設定」を選択します。

Page 6: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 5

2. 「設定」ダイアログが起動します。左側のツリーから「ソース・コントロール」を選択します。

3. 「アクティブ・プラグイン」から「Oracle9i SCM」を選択します。

また、必要に応じて、左のツリーの「ソース・コントロール」以下の「Oracle9i

SCM」を選択することで表示されるオプション設定を行います。

アクセス権限アクセス権限アクセス権限アクセス権限

Oracle9i SCM のリポジトリにアクセスできるユーザーは、リポジトリ・ユーザ

ーだけです。リポジトリ・ユーザーとは、リポジトリへのアクセス権が付与され

たデータベース・ユーザーのことです。リポジトリの管理者は Oracle9i SCM管理

画面から、データベース・ユーザーをリポジトリ・ユーザーとして登録します。

登録された時点で、そのデータベース・ユーザーはリポジトリ・ユーザーとなり、

Oracle9i SCMリポジトリへのアクセスが許可されます。

リポジトリ・ユーザーの登録に関しては、巻末の『付録』を参照して下さい。

リポジトリへのアクセスが許可されたリポジトリ・ユーザーは、さらに細かい

レベルでアクセス権の制御が可能です。開発者の作業領域単位やファイルを格納

しているフォルダ単位、またユーザー単位やパブリックに対して、さらに各操作

レベル(選択/挿入/更新/削除等)で権限を付与できます。

これらの権限の組合せによって、柔軟なセキュリティ制御が可能です。

Page 7: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 6

接続接続接続接続

それでは、JDeveloperから Oracle9i SCMに接続してみましょう。

まず始めに、Oracle9i SCM への接続定義を作成します。一度接続定義が作成さ

れると、定義された接続先のリポジトリ情報は JDeveloper に保存されますので、

次回再接続する際には接続定義情報を作成する必要がありません。

1. JDeveloperを起動し、次のどちらかを実行します。

�� システム・ナビゲータの「接続」ノードを展開し、「Oracle9i SCM」を右

クリックして「接続の作成」を選択

�� メニューから「ファイル→新規」を選択し、続いて起動される「新規」ダ

イアログで「カテゴリ」欄から「General」-「Connections」、「項目」欄か

ら「Oracle9i SCM接続」を選択して「OK」をクリック

2. ウィザードが起動します。「Oracle9i SCM 接続ウィザード – 初期画面」ペ

ージでは、そのまま「次へ」をクリックします。

Page 8: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 7

3. 「Oracle9i SCM 接続ウィザード – ステップ 1/4:名前」ページでは、接続

の識別名を指定します。この識別名がシステム・ナビゲータのノードに表

示されます。

4. 「Oracle9i SCM接続ウィザード – ステップ 2/4:認証」ページでは、Oracle9i

SCMに接続するユーザーとパスワードを指定します。「パスワードを保存す

る」にチェックすると、次回からの接続でパスワード入力を省略すること

が可能です。

POINT:ここでのユーザーは Oracle9i SCMリポジトリへの接続が許可されているリポジトリ・ユーザーのことです。

Page 9: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 8

5. 「Oracle9i SCM接続ウィザード – 3/4:接続」ページでは、Oracle9i SCMが

インストールされているホスト・マシンを指定します。

6. 「Oracle9i SCM接続ウィザード – 4/4:テスト」ページでは、指定した内容

で接続テストを行います。「接続のテスト」ボタンをクリックし、「ステー

タス」内に「接続テストに成功しました」と表示されることを確認します。

7. 「Oracle9i SCM接続ウィザード – サマリー」ページは、作成した Oracle9i

SCMへの接続定義内容のサマリーが表示されます。内容を確認して、「終了」

を押します。

Page 10: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 9

8. JDeveloperのシステム・ナビゲータに戻り、作成した接続名がノード以下に

表示されていることを確認します。

接続の切断、削除接続の切断、削除接続の切断、削除接続の切断、削除 Oracle9i SCMへの接続を終了したい場合、JDeveloperから作成した接続定義を削

除することなく接続を切断できます。

1. システム・ナビゲータ上で切断したい接続名を選択し、右クリックメニューから「接続を閉じる」を選択します。

2. ログウィンドウには「Oracle9i SCM接続‘<接続名>’から切断しました」

というメッセージが表示されます。

作成した接続定義が必要なくなったら削除することもできます。

1. システム・ナビゲータ上で切断したい接続名を選択し、右クリックメニューから「接続の削除」を選択します。

注意:接続を削除する場合、削除の前に接続の切断を行って下さい。

2. システム・ナビゲータの「Oracle9i SCM」ノード以下に表示されていた接続

名が削除されていることが確認できます。

Page 11: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 10

チーム開発の基本的な流れチーム開発の基本的な流れチーム開発の基本的な流れチーム開発の基本的な流れ

Oracle9i SCM を用いたチーム開発では、各ユーザーは必ず「ワークエリア」と呼ばれる

作業領域内で作業を行うように決められています。ワークエリアは、各リポジトリ・ユー

ザーがリポジトリに格納されている情報にアクセスするための窓口となり、どのユーザー

に対して、どのオブジェクトのどのような操作が許可されているのか、アクセス制御を行

っています。つまり、そのユーザーに対してアクセス許可されたオブジェクトだけがワー

クエリア内に表示されます。

基本的な開発の流れは以下のようになります。 ��ワークエリアへの接続 各ユーザーで使用するワークエリアにアクセスします。各ユーザーは、Oracle9i SCMの管理者によって割り当てられたワークエリアでそれぞれの開発作業を始めることになります。

��ワークエリアの作成/プライベート・ブランチの開始 ユーザーが Oracle9i SCMに対するワークエリアの作成権限を与えられている場合、それぞれに個別のワークエリアを作成し、さらに個別の開発ライン(ブランチ)を設定することで、他ユーザーの開発からの影響を受けることなく自分の開発ができるようになります。

��ソース・ファイルの編集・管理 開発作業を行います。ここでは、ファイルのチェックイン/アウト、バージョン履歴の確認といった作業が考えられます。

��マージ/プライベート・ブランチの終了 マージ・ウィザードなどを使用して、追加・変更を加えたソース・ファイルを統合します。プライベート・ブランチ上で開発していた場合、一連の開発作業が終了した時点でプライベート・ブランチを終了させることで自動マージすることができます。

この章では、これらの基本的な作業の方法について説明します。

フォルダ・マッピングフォルダ・マッピングフォルダ・マッピングフォルダ・マッピング

フォルダ・マッピングとは、ローカル・マシンのファイルシステムと、Oracle9i SCM ワ

ークエリアのフォルダとの紐付けの設定のことです。フォルダ・マッピングはワークエリ

アの最上位フォルダ位置に対して行います(フォルダ・マッピングの方法については後述

します)。つまり、フォルダ・マッピングはひとつのワークエリアに対してひとつだけしか

設定できません。

Page 12: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 11

通常、JDeveloperによって作成されたワークスペース、プロジェクトおよびソース・ファ

イルの構成は次のようになっています:

��ワークスペース・ディレクトリの下にプロジェクトのディレクトリが存在

��プロジェクト・ディレクトリの下にソース・ファイルが存在

例えば、次のような状態です。 <<<<UserHome>>>>

<ワークスペース・ディレクトリワークスペース・ディレクトリワークスペース・ディレクトリワークスペース・ディレクトリ> YourWorkspace.jws <プロジェクト・ディレクトリプロジェクト・ディレクトリプロジェクト・ディレクトリプロジェクト・ディレクトリ> YourProject.jpr src (ソース・ディレクトリ)(ソース・ディレクトリ)(ソース・ディレクトリ)(ソース・ディレクトリ) public_html ((((HTML ルート・ディレクトリ)ルート・ディレクトリ)ルート・ディレクトリ)ルート・ディレクトリ) :::: <別のプロジェクト・ディレクトリ別のプロジェクト・ディレクトリ別のプロジェクト・ディレクトリ別のプロジェクト・ディレクトリ> ::::

前述のように、フォルダ・マッピング設定はワークエリアに対してひとつだけひとつだけひとつだけひとつだけ行うこと

に注意してください。例えば、あるワークエリアとローカルのワークスペース・ディレク

トリがマッピングされている場合、ワークエリア、プロジェクトおよびソース・ファイル

の階層構造が上記の構成であれば、ワークエリア内のすべてのプロジェクト、ソース・フ

ァイルはアップロード可能です。 <<<<UserHome>>>>

<ワークスペース・ディレクトリワークスペース・ディレクトリワークスペース・ディレクトリワークスペース・ディレクトリ> YourWorkspace.jws <プロジェクト・ディレクトリプロジェクト・ディレクトリプロジェクト・ディレクトリプロジェクト・ディレクトリ> YourProject.jpr src (ソース・ディレクトリ)(ソース・ディレクトリ)(ソース・ディレクトリ)(ソース・ディレクトリ) <別のプロジェクト・ディレクトリ別のプロジェクト・ディレクトリ別のプロジェクト・ディレクトリ別のプロジェクト・ディレクトリ> ::::

一方、あるワークエリアとマッピングされているローカルのフォルダの階層下にないフ

ァイルをアップロードしようとしても、ファイルのアップロード先を特定できないため、

処理は行われません。 <<<<UserHome>>>>

<ワークスペース・ディレクトリワークスペース・ディレクトリワークスペース・ディレクトリワークスペース・ディレクトリ> YourWorkspace.jws <プロジェクト・ディレクトリプロジェクト・ディレクトリプロジェクト・ディレクトリプロジェクト・ディレクトリ> YourProject.jpr src (ソース・ディレクトリ)(ソース・ディレクトリ)(ソース・ディレクトリ)(ソース・ディレクトリ) <別のプロジェクト・ディレクトリ別のプロジェクト・ディレクトリ別のプロジェクト・ディレクトリ別のプロジェクト・ディレクトリ> ::::

既存のワークスペースおよびプロジェクトを使用する場合は、それらのディレクトリ構

成の階層構造を確認して、フォルダ・マッピングを計画してください。

フォルダ・マッピングフォルダ・マッピングフォルダ・マッピングフォルダ・マッピング

アップロード可能

アップロード不可

フォルダ・マッピングフォルダ・マッピングフォルダ・マッピングフォルダ・マッピング

アップロード可能

Page 13: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 12

Oracle9i SCMへの接続への接続への接続への接続

前章で作成した Oracle9i SCMへの接続定義を使って、以下の手順で接続を行います。

1. メニューから「ファイル→ソース・コントロール→接続」を選択し、「Oracle9i SCM

に接続」ダイアログから、接続名を選択します。

2. 続いて、ワークエリアの選択ダイアログが起動されます。先ほど選択した接続で使用できるワークエリアの一覧がリストされるので、ワークエリアを選択します。

注意:Oracle9i SCMには共有ワークエリアとプライベート・ワークエリアという 2つのタイプのワークエリアが存在しますが、JDeveloperから利用できるワークエリアはプライベート・ワークエリアのみです。

なお、この時点でユーザーが利用可能なワークエリアが存在しない場合、次のよう

なダイアログが表示されます。

この場合、ユーザーにワークエリアの管理権限が与えられている場合は、「はい」ボ

タンをクリックして、ワークエリア・ウィザードを起動し、新規にワークエリアを

作成することができます。ユーザーにワークエリアの管理権限が与えられていない

場合は、Oracle9i SCM管理者に連絡してワークエリアを作成してもらう必要があり

ます。

Page 14: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 13

ワークエリアを選択して接続できた場合は『ワークエリアでの作業』へ、新規にワーク

エリアを作成する場合は『ワークエリアの作成とプライベート・ブランチ』へ進みます。

ワークエリアでの作業ワークエリアでの作業ワークエリアでの作業ワークエリアでの作業

初めてワークエリアに接続した場合は、クライアント・マシンのソース・ファ

イルを Oracle9i SCMリポジトリへアップロードできるようにするために、フォル

ダ・マッピングの設定を行う必要があります。この設定は、一度行うと、次回か

らの同じワークエリアへの接続の時には行う必要はありません。

以降では、既存ソースを Oracle9i SCMへ追加する場合と、Oracle9i SCM上のソ

ースを元に開発を始める場合の 2つについて説明します。

既存ソースの既存ソースの既存ソースの既存ソースの Oracle9i SCMへの追加への追加への追加への追加 ここでは、JDeveloperを使って作成されたワークスペースおよびプロジェクトが

既に存在する場合を考えます。

JDeveloperのノード・ファイルについてのノード・ファイルについてのノード・ファイルについてのノード・ファイルについて JDeveloper のいくつかのノードは、そのノード情報を保持するファイルを持っています。例えばプロジェクト・ノードを表す .jpr ファイルです。

Oracle9i SCM ソース・コントロールにノードのコンテンツを追加する際、このようなノード・ファイルも追加することが可能です。 例えば、ソース・コントロールへプロジェクト全体を追加する場合、プロジェクト内のコンテンツ全部(全てのパッケージ、.xml、.java、EJBファイルなど)を追加し、さらにプロジェクト・ノードを表す.jprファイルを追加します。ワークスペース全体を追加する場合は、さらにワークスペース・ノードを表す.jwsファイルを追加します。

ソース・コントロールへのファソース・コントロールへのファソース・コントロールへのファソース・コントロールへのファイルの追加イルの追加イルの追加イルの追加

1. JDeveloperのシステム・ナビゲータでワークスペース、プロジェクトまたは

ファイルを選択し、メニューから「ファイル→ソース・コントロール→追

加」もしくは、右クリックメニューから「ソース・コントロール→追加」

を選択します。

POINT:個々のファイルごとに追加する場合はファイルを選択してメニューを選びます。一方、ワークスペースやプロジェクトを選択してメニューを選ぶと、ワークスペースやプロジェクト以下のファイルすべてをソース・コントロールへの追加対象とすることができます。

Page 15: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 14

2. 「Oracle9i SCM へのファイルの追加」ダイアログが起動します。ダイアロ

グ内で選択されたファイルは一括して Oracle9i SCMへ登録できます。

「追加」/「削除」ボタンは、ダイアログ内で登録エントリとして選択され

ているファイルを、エントリから外したり追加したりする際に使用します。

3. 「OK」をクリックします。

この後のアクションは、設定によって異なります。

①①①① フォルダ・マッピングのためのダイアログが開く場合:フォルダ・マッピングのためのダイアログが開く場合:フォルダ・マッピングのためのダイアログが開く場合:フォルダ・マッピングのためのダイアログが開く場合:

これは以下のような場合に表示されます。

• 選択したワークエリアに対して、ローカルのファイルシステムとの

フォルダ・マッピングが行われていない

ダイアログ上では、マッピングするローカルのフォルダを選択し、「OK」をクリックします。

Page 16: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 15

POINT:『フォルダ・マッピング』の項で説明したように、ワークエリアのルート位置に対してフォルダ・マッピングを作成します。このフォルダ・マッピング先の指定によって、今後の他のファイルをこのワークエリアにアップロードできるかどうかが決まります。今後、ソース・コントロールへ追加するファイルについて検討し、それらの格納フォルダの最上位位置とワークエリアをマッピングするようにしてください。

②②②② エラー・メッセージが出る場合:エラー・メッセージが出る場合:エラー・メッセージが出る場合:エラー・メッセージが出る場合:

これは以下のような場合に表示されます。

• 選択したワークエリアに対して、ローカルのファイルシステムとの

間にフォルダ・マッピングが既に行われている

• 追加対象として選択したファイルのローカルでの位置が、マッピン

グされているフォルダの階層下にない

つまり、選択されたワークエリアに対する現行のフォルダ・マッピングではファイルのアップロードができずに、エラーを発している状態です。この場合、現行のフォルダ・マッピングを解除して、新たにフォルダ・マッピングを設定しなおすか、別のワークエリアを介してソース・コントロールを行う必要があります。

③③③③ ファイルのアップロードが正常に行われる場合:ファイルのアップロードが正常に行われる場合:ファイルのアップロードが正常に行われる場合:ファイルのアップロードが正常に行われる場合: これは以下のような場合です。

• 選択したワークエリアに対して、ローカルのファイルシステムとの

間にフォルダ・マッピングが既に行われている

• 追加対象として選択したファイルのローカルでの位置が、マッピン

グされているフォルダの階層下にある

ダイアログによって、アップロード作業の進捗状況が表示されます。アップロードされたファイルやフォルダはこの時点でチェックインされ、バージョン 1.0が割り振られます。各オブジェクトの親フォルダもチェックインされます。

Page 17: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 16

4. ファイルのアップロードが正常に終了した後、ワークスペース・ノードを展開すると、オブジェクトにマークが表示されます。このマークは、それ

ぞれのオブジェクトのステータスを表しています。

:チェックインされている。読み取り専用の状態

:チェックアウトされている。編集可能な状態

チェックイン、チェックアウトおよびそれを行うための方法についての詳細は、

『バージョン管理(チェックイン/チェックアウト)』を参照してください。

Oracle9i SCM上のソースからの開発上のソースからの開発上のソースからの開発上のソースからの開発 プロジェクト開発の状況によっては、ワークエリアを共有して、同じ環境下で

複数の開発者が作業を進める場合があります。この場合、既存の共有ワークエリ

ア内のファイルをローカル・マシン上に展開し開発を進めていく形になります。

フォルダ・マッピングフォルダ・マッピングフォルダ・マッピングフォルダ・マッピング 既存のワークエリアを使用する場合、最初にフォルダ・マッピングを指定する必要があります。

1. ナビゲータから対象のワークエリアを右クリックして「フォルダのマッピング」を選択し、「フォルダ・マッピング」ダイアログを起動します。

設定項目設定項目設定項目設定項目 説明説明説明説明 ダウンロード・フォルダ ダウンロード先のクライアント・マシン上のフォ

ルダ位置を指定します。

マップする Oracle9i SCMリポジトリ・フォルダ

開発対象としたいリポジトリ上のフォルダをチェックします。

Page 18: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 17

2. 「マップする Oracle9i SCMリポジトリ・フォルダ」で選択した Oracle9i SCM

リポジトリ上のファイルはすべて、ローカル・マシン上の「ダウンロード・

フォルダ」配下にダウンロードされます。

プロジェクトへのソースのプロジェクトへのソースのプロジェクトへのソースのプロジェクトへのソースの追加追加追加追加 システム・ナビゲータの「ワークスペース」ノード以下に、編集するファイルを展開します。 システム・ナビゲータの「接続」ノードを展開し、開発対象にしたいファイルを右クリックします。選択したファイル・タイプによって以下のメニューを選びます

選択ファイル選択ファイル選択ファイル選択ファイル 選択するメニュー選択するメニュー選択するメニュー選択するメニュー ワークスペース・ファイル(.jws) 「ワークスペースに追加」

プロジェクト・ファイル(.jpr) 「ワークスペース<ワークスペース名>に追加」

その他のソース・ファイル 「プロジェクト<プロジェクト名>に追加」

対象がワークスペース・ファイルおよびプロジェクト・ファイルの場合、そのファイルの定義情報に基づいてワークスペースおよびプロジェクトがナビゲータ上に展開されます。 対象がソース・ファイルの場合、現行のアクティブ・プロジェクトに追加されます。このとき、そのファイルが、プロジェクトのソース・パス(「プロジェクトの設定」の「入力パス」ページの「Java ソース・パス」および「HTML ルート・ディレクトリ」)に含まれない場合、プロジェクトの設定を修正することを示す次のようなメッセージ・ダイアログが表示されます。

この場合「はい」をクリックするとソースパスの更新とともに、プロジェクトへファイルが追加されます。

Page 19: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 18

ワークエリアの作成とプライベート・ブランチワークエリアの作成とプライベート・ブランチワークエリアの作成とプライベート・ブランチワークエリアの作成とプライベート・ブランチ

ユーザーが Oracle9i SCM上のワークエリアの管理権限を与えられている場合、

次の手順によって JDeveloperからワークエリアを作成できます。

ワークエリアの新規作成ワークエリアの新規作成ワークエリアの新規作成ワークエリアの新規作成

1. システム・ナビゲータ上のノード「接続→Oracle9i SCM→<接続名>→ワー

クエリア」を展開します。「ワークエリア」を右クリックして「新規ワーク

エリア」を選択し、ワークエリア作成ウィザードを起動します(または、

メニュー「ファイル→ソース・コントロール→ワークエリアの作成」でも

ウィザードが起動します)。

2. ウィザードが起動します。「Oracle9i SCMワークエリア・ウィザード- 初期

画面」ページでは、そのまま「次へ」をクリックします。

3. 「Oracle9i SCMワークエリア・ウィザード- ステップ 1/4:ワークエリア名

と目的」ページでは、作成するワークエリアの名前を指定します。

「目的」枠内には、これからこのワークエリアをどのような目的で使用す

るかをコメントしておくことができます。

Page 20: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 19

4. 「Oracle9i SCMワークエリア・ウィザード- ステップ 2/4:Oracle9i SCMフ

ァイル」ページでは、ワークエリアをどのような仕様で作成するかを指定

します。

POINT:数多くあるリポジトリ内のオブジェクトの中から、どのような情報をワークエリアを通してアクセスできるようにするか、その規則をワークエリアに対して定義できます。あらかじめ規則を定義した仕様ファイルを作成してある場合は、ここでそのファイル名を指定することもできます。

ここで「ブランチから」を選択した場合、指定された作業ブランチ(開発

ライン)上の最新のファイルをこれからの開発対象とするように定義され

ます(ブランチについては後述します)。

Page 21: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 20

また、ここで「共有ワークエリアから」を選択した場合、既存のワークエ

リアにあるソース・ファイルを元に開発を進めていくことができます。これ

は、プロジェクト開発の進行の中で他の人がある程度の段階まで開発を進

めた状態のソース・ファイルを受け取り、引き続き開発を進める場合など

に使用します。

5. 「Oracle9i SCMワークエリア・ウィザード- ステップ 3/4:ダウンロード・

フォルダ」ページでは、ワークエリアのファイルをダウンロードするフォ

ルダを、ローカルのディレクトリに指定します。

POINT:このウィザードによって作成されたワークエリアのトップ・レベルのリポジトリ・フォルダはすべて、このディレクトリにマップされ、そのフォルダ内のすべてのファイルがローカル・ファイルシステムへダウンロードされます。

POINT:『フォルダ・マッピング』の項で説明したように、ここでワークエリアのダウンロード・フォルダとして指定したフォルダの階層下にあるファイルだけが、このワークエリアにおけるソース・コントロールの対象になります。現行開発途中のワークスペース、プロジェクトをソース・コントロール対象にしたい場合は、ダウンロード・フォルダとしてワークスペース・ディレクトリを指定すると良いでしょう。

Page 22: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 21

6. 「Oracle9i SCMワークエリア・ウィザード- ステップ 4/4:プライベート・

ブランチ」ページでは、これから開発を進める際にプライベート・ブラン

チ上で作業するか、統合ブランチ上で作業するかを選択します。

複数ユーザーでファイルを共有して開発する場合、プライベート・ブラン

チを選択して下さい。

7. Oracle9i SCMワークエリア・ウィザード- サマリー」ページでは、ワークエ

リアに関する設定のサマリーが表示されます。

「終了」を押すと、進捗ダイアログが表示された後、作成完了のメッセー

ジが表示されます。

注意:ワークエリアの作成権限を持たないユーザーの場合、「終了」を押した時点で権限がない旨のメッセージが表示されます。

Page 23: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 22

8. JDeveloperのシステム・ナビゲータに戻り、新たにワークエリアが作成され

ていることを確認します。ワークエリア名の後ろに、“((((SCM))))”という文字

列が表示されます。これは、このワークエリアに現在接続していることを

表しています。

新規に作成したワークエリアには必ず、SYSTEM FOLDERというフォルダ

を確認できます。このフォルダは Oracle9i SCMシステムが使用するための

もので、すべてのワークエリア内に存在します。このフォルダは、どのユ

ーザーでも編集することはできません。

9. 4.で指定したワークエリアの作成規則に基づいて、ワークエリアが作成され

ます。既に Oracle9i SCMリポジトリ内に開発途中もしくは開発済のソース・

ファイルが格納されている場合、それらがクライアントのワークエリア・

ダウンロード・ディレクトリ下にダウンロードされています。

プライベート・ブランチの利用プライベート・ブランチの利用プライベート・ブランチの利用プライベート・ブランチの利用 リポジトリ内でバージョン管理されるオブジェクトは、すべてブランチ上に配

置されます。

ブランチは、開発目的に応じて用意される開発ラインです。現在のシステムの

運用は止めずに、現在リリースしているシステムのバグ修正を行いたい場合や、

目的は同じであるが、実装方法やプラットホームが異なるシステムをいくつか開

発する場合、複数の開発者で現在のシステムの変更などを同時に行いたい場合な

ど、その目的ごとにブランチを作成し、使用します。

Page 24: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 23

Oracle9i SCMには、デフォルトで「MAIN」というブランチが用意されています。

通常、このブランチが主の開発ラインです。ワークエリア作成時に特定のブラン

チを選択したり、ワークエリア規則の編集によって明示的に他のブランチを指定

したりすることで、ワークエリアの主とするブランチを変更することができます。

特に、JDeveloperでは、MAINブランチのことを統合ブランチ統合ブランチ統合ブランチ統合ブランチと呼びます。

JDeveloperには、プライベート・ブランチプライベート・ブランチプライベート・ブランチプライベート・ブランチと呼ばれるブランチ機能が提供されて

います。これはワークエリアの統合ブランチ上で複数のユーザーが共同開発して

いる時などに、他のユーザーから不本意にデータを上書きされてしまうのを防ぐ

ために用意された、統合ブランチから独立したブランチです。

例えば上図で、バグ修正だけをおこなうユーザー、あるいはテストだけを行う

ユーザーが、それぞれのプライベート・ブランチを作成しそのブランチ上で作業

行うことにより、他のユーザーの作業による変更に影響される心配がありません。

プライベート・ブランチの作成プライベート・ブランチの作成プライベート・ブランチの作成プライベート・ブランチの作成

1. メニューから「ファイル→ソース・コントロール→プライベート・ブランチの開始」を選択します。「プライベート・ブランチの作成」ダイアログが

起動し、ここでプライベート・ブランチの名前を指定して作成を行います。

POINT:ワークエリア作成時に、ワークエリア・ウィザードの「プライベート・ブランチ」ページで「はい」を選択しなかった場合、プライベート・ブランチのメニューはグレーアウトされており、実行できません。

進捗を表すダイアログが起動した後、作成終了のメッセージが表示されま

す。

2. システム・ナビゲータでワークエリアを選択し、右クリックメニューから「編集」を選択して「ワークエリア規則」ダイアログを起動します。枠内

には、作成したブランチがリストされていることが確認できます。これは、

Page 25: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 24

プライベート・ブランチ上の最新オブジェクトをワークエリア内に表示す

るというルールを表現しています。

ワークエリアの規則に関しては『ワークエリア仕様の編集』で説明します。

ファイル・バージョンの編集と管理ファイル・バージョンの編集と管理ファイル・バージョンの編集と管理ファイル・バージョンの編集と管理

ワークエリアの作成/設定を終えると、実際の開発作業に入ることができます。

ここではファイルのチェックイン/チェックアウト、バージョン間の比較、各バー

ジョンの情報の表示などを行います。これらの手順については、次章『ソース・

ファイルの開発と管理』の該当するページを参照してください。

マージマージマージマージ/プライベート・ブランチの終了プライベート・ブランチの終了プライベート・ブランチの終了プライベート・ブランチの終了

JDeveloperでは以下の 2つの方法でのソース・ファイルのマージ作業をサポート

しています。 ��プライベート・ブランチの終了

個別のブランチで開発されたソース・ファイルに対する変更内容や追加さ

れたファイルが統合ブランチへマージされます。

��マージ・ウィザード

特定の条件のソース・ファイルを指定したワークエリア上にマージします。

Page 26: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 25

上図では、バージョン 1.0.1.1 が、バージョン 1.1 にマージされています。バー

ジョン 1.0は、マージする二つのバージョンに共通の先祖です。このような共通先

祖のバージョンは、マージプロセスにおいて変更を確認するのに使用されます。

マージプロセスは、二つのバージョンの差分と矛盾を識別します。矛盾は、そ

れぞれのバージョンの同じ箇所に違う変更が行われている場合です。矛盾がある

場合、自動マージプロセスではどちらの変更を採用するか決定できないため、競

合を解決するために手動マージが必要になります。このように自動で識別できな

い競合が見つかった場合、「比較/マージ」ツールを使って競合個所の解決を行いま

す(詳細は『マージ時の競合の解決』を参照してください)。

注意:Oracle9i SCM を良くご存知の方は、特定ファイルのバージョン履歴ツリー(Version History Viewer、VHV:詳細は『バージョン履歴の表示』を参照ください)からマージのメニューを選択できることを知っているかもしれません。これは Oracle9i SCMのツール上からは有効ですが、JDeveloperから起動される VHV上では、マージ操作はサポートされません(このことは『ソース・コントロールに関する注意点』でも触れています)。

プライベート・ブランチの終了プライベート・ブランチの終了プライベート・ブランチの終了プライベート・ブランチの終了

1. すべてのファイルがチェックインされていることを確認します。プライベート・ブランチを終了する時にチェックインされていないファイルがある

と、マージが実行できません。

2. メニューから「ファイル→ソース・コントロール→プライベート・ブランチの終了」を選択します。この段階で、まだチェックインされていないフ

ァイルがあれば、チェックインを促すメッセージが表示されます。

3. 自動マージプロセスが起動され、修正したファイルを自動でマージします。

Page 27: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 26

マージプロセス中に競合個所が見つかった場合は、競合の解決のために手

動マージを行う必要があります。この場合についての詳細は『マージ時の

競合の解決』を参照してください。

マージ・ウィザードでのマージマージ・ウィザードでのマージマージ・ウィザードでのマージマージ・ウィザードでのマージ プライベート・ブランチを統合ブランチ上にマージする以外の場合、たとえば

他のユーザーのプライベート・ブランチ上の変更を自分のブランチ上にマージし

たり、プライベート・ブランチを終了せずにマージを実行したい場合などには、

マージ・ウィザードを使用してマージプロセスを実行します。

1. メニューから、「ファイル→ソース・コントロール→マージ・ファイル・バージョン」を選択します。

2. マージ・ウィザードが起動します。「初期画面」ページではそのまま「次へ」を選択します。

3. 「マージ・ソース」ページでは、マージで使用するバージョンのソースを指定します。マージのソースとして、以下から選択できます。

�� 指定ブランチ上のオブジェクト・バージョン

�� 指定ワークエリア中のオブジェクト・バージョン

�� 指定コンフィグレーション中のオブジェクト・バージョン

Page 28: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 27

4. 「マージ・ターゲット」ページでは、マージに使用するターゲットのオブジェクトを含むワークエリアを指定します。ターゲットとは、ソースのオ

ブジェクト・バージョンとのマージ結果を受け入れる、オブジェクト・バ

ージョンです。

5. 次の「サマリー」ページでは、マージ設定のサマリー情報が表示されます。

Page 29: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 28

6. 「終了」をクリックすると、ソースからターゲットへのマージが自動で開始します。マージプロセス中に競合個所が見つかった場合は、競合の解決

のために手動マージを行う必要があります。この場合についての詳細は『マ

ージ時の競合の解決』を参照してください。

マージ時の競合の解決マージ時の競合の解決マージ時の競合の解決マージ時の競合の解決 マージプロセス中にマージ対象のバージョン間に競合個所が見つかり、それら

の解決を自動で識別できない場合、次のようなダイアログが表示されます。

この場合、ダイアログのメッセージにしたがって「はい」をクリックし、「比較

/マージ」ツールを起動します。

Page 30: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 29

このツールでは、競合個所がハイライトされて表示されます。マージ対象の 2

つのバージョンおよびその共通先祖であるバージョンの対応する個所が色分けさ

れて表示され、その内容を比較しながら採用するコードを選択できます。また、

必要に応じて、このツール上で、コード内容を変更することもできます。競合の

解決が完了したら「保存」をクリックして、マージプロセスに戻ります。

マージプロセス完了直後のファイルはチェックアウトされています。コード・

エディタなどで変更内容を再確認した後、必要に応じてファイルをチェックイン

します。

ワワワワークエリア仕様の編集ークエリア仕様の編集ークエリア仕様の編集ークエリア仕様の編集

ワークエリア内では、一つのオブジェクトに対して一つのバージョンのみを表

示します。オブジェクトに複数のバージョンが存在する場合、どのバージョンを

ワークエリア内に表示するかを定義する必要があります。

ワークエリアには、各オブジェクトのどのバージョンを表示するかを定義した

ルールがあります。このルールをワークエリア仕様といいます。

ワークエリアには、必ず一つ以上の規則が定義されています。例えば、”MAIN

Page 31: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 30

ブランチ上の最新オブジェクトを表示する”という規則(JDeveloper を使ってワー

クエリアを新規に作成する際にデフォルトで設定されている規則です)を使用す

ると、そのワークエリアでは常に最新のソース・ファイルが表示されることにな

ります。

開発を進める中では、常に最新のバージョンを表示したいとは限りません。こ

のような場合には、別の規則をワークエリアに指定し、存在する複数バージョン

の中からワークエリア内に表示するバージョンを指定することができます。

ワークエリア仕様は、ワークエリアを作成した後でも変更したり、また新たな

規則を追加したりできます。

ワークエリア仕様の編集は以下の手順で行います。

1. システム・ナビゲータで規則を追加したいワークエリアを選択します。

2. メニューから「ファイル→ソース・コントロール→ワークエリアの規則を編集」を選択するか、もしくはシステム・ナビゲータ上でワークエリアを

右クリックし「編集」を選択します。

「ワークエリア規則」ダイアログが起動します。

3. このダイアログには、ワークエリアに定義されているルールが一覧表示されます。

4. 現行のルールを変更する場合は「編集」、新しく規則を追加する場合は「追加」、ワークエリア仕様ファイル(.cws)の定義情報をインポートしたい場

合は「インポート」をクリックします。

Page 32: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 31

5. 続いて表示される「ワークエリア規則の追加/編集」ダイアログで、ワーク

エリアの規則を定義します。

例えば、2002年 8月 1日から 8月 31日の間にMAINブランチ上にチェック

インされたバージョンの中から最新バージョンを表示したい場合、以下の

ように設定します。

設定項目設定項目設定項目設定項目 設定する値の例設定する値の例設定する値の例設定する値の例 規則 最新

オブジェクト ブランチ

ブランチ MAIN

日付 期間: 2002-08-01 ~ 2002-08-31

ワークエリア規則の優先順位ワークエリア規則の優先順位ワークエリア規則の優先順位ワークエリア規則の優先順位 一つのワークエリアに複数のルールが定義されている場合、どのルールを優先

的に反映するか優先順位を決定できます。

優先順位は、「ワークエリア規則」ダイアログの上から順番に優先度が高くなっ

ています。

優先順位を変更するには、ダイアログ上で規則を選択し、右側の上下ボタン

で順番を入れ替えます。

Page 33: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 32

ソース・ファイルの開発と管理ソース・ファイルの開発と管理ソース・ファイルの開発と管理ソース・ファイルの開発と管理

Oracle9i SCMのリポジトリに格納されたファイルは、「チェックイン」/「チェックアウト」

という操作を通してバージョン管理可能です。JDeveloperの「ソース・コントロール→追加」

機能を実行すると、Oracle9i SCM にファイルを格納し、チェックインまで行ってくれるた

め、ユーザーは明示的にチェックインを実行しなくても自動的にバージョンが確定されて

います。チェックインされたオブジェクトは、バージョンが確定すると同時に、読取専用

の状態となります。再度編集を行うためには、チェックアウトを実行する必要があります。

ここでは、ファイルのチェックイン/チェックアウトおよびここのファイルのバージョン

管理に関するさまざまな操作の方法を説明します。

バージョン管理(チェックインバージョン管理(チェックインバージョン管理(チェックインバージョン管理(チェックイン/チェックアウト)チェックアウト)チェックアウト)チェックアウト)

コード編集する際、まずはそのファイルをチェックアウトし編集可能な状態に

します。チェックアウトされたファイルは、リポジトリからユーザーのクライア

ント・マシンにダウンロードされます。ユーザーは、クライアントにダウンロー

ドされたファイルを編集します。

POINT:チェックアウトされたオブジェクトのバージョンは、他のユーザーからは隠蔽されて編集が確定するまでは参照されないようになります。

編集が終了したらファイルを再びチェックインすると、クライアントで行った

変更がリポジトリ内にも反映されます。このチェックインのタイミングで、ファ

イルの新しいバージョンが誕生し、指定のブランチ上に配置されます。

親フォルダがチェックインされていると、フォルダ階層内でのファイルの追

加・削除はできません。必要な場合は、親フォルダをチェックアウトして下さい。

ただし、親フォルダがチェックインされていても、既に親フォルダに属している

ファイルの編集はできます(もちろん、編集するファイルはチェックアウトする

必要があります)。

ソース・ファイルのチェックアウト・編集・チェックインソース・ファイルのチェックアウト・編集・チェックインソース・ファイルのチェックアウト・編集・チェックインソース・ファイルのチェックアウト・編集・チェックイン 各ファイルは、チェックインされている状態では、読み取り専用です。編集す

る際には、チェックアウトする必要があります。

編集するファイルを右クリックし、「ソース・コントロール→チェックアウト」

を選択します。

Page 34: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 33

引き続いて「Oracle9i SCM からファイルをチェックアウト」ダイアログが開き

ます。ここでは、チェックアウトにおける付加情報を「チェックアウトの注記」

として記述できます。

「OK」をクリックすると、ファイルがチェックアウトされ、ローカル・マシン

上の該当ファイルの属性が書き込み可能状態に変わります。

ファイルに対する編集作業が終了したら、同様の操作でファイルをチェックイ

ンします。チェックアウトの際にも、「注記」としてテキスト情報を記述できます。

各バージョンの変更点の概要などを記述しておくと、後の管理に役に立ちますの

で記述することをお勧めします。

編集内容を保存したくない場合、チェックインを行わずに、チェックアウトを

元に戻すこともできます。これもチェックイン/チェックアウトと同様、ナビゲー

タ上でファイルを選択して右クリックメニューから選ぶだけで実行できます。

Page 35: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 34

バージョン情報の表示バージョン情報の表示バージョン情報の表示バージョン情報の表示

旧バージョンとの比較旧バージョンとの比較旧バージョンとの比較旧バージョンとの比較 バージョン管理を進めていくと、一つのファイルに対して複数のバージョンが

存在するようになります。Oracle9i SCM では、以前のバージョンとの内容を比較

し、どのような変更を行ったのかを調べる機能が用意されています。

ひとつ前のバージョンと比較する場合は、以下の操作を実行します。

1. 右クリックから、「ソース・コントロール→旧バージョンとの比較」を選択します。

2. 比較ダイアログが表示されます。このダイアログの最初の状態では、二つのバージョンの内容すべてを表示しています。

「違いを表示」ボタンをクリックすると、両者の違う部分だけを表示でき

ます。

Page 36: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 35

バージョン履歴の表示バージョン履歴の表示バージョン履歴の表示バージョン履歴の表示 バージョンの更新を繰り返したオブジェクトに対して、その履歴情報をビジュ

アルに表示することができます。

1. 右クリックから、「ソース・コントロール→Version History の表示」を選択

します。

2. Version History Viewer(VHV)が起動します。選択したファイルに対して、

存在するバージョンをすべてツリー図で表示します。

上の例では、「MAIN」ブランチ上にバージョン 1.0、1.1、「jdev_private_branch1」

ブランチ上に 1.0.1.0、1.0.1.1、1.0.1.2が存在することを表しています。バージョン

1.0.1.2 の矢印マークは、現在ユーザーがアクセスしているバージョンを表してい

ます。

各ブランチ上の最新バージョンが赤色で表示されていますが、これはチェック

インされている記しです。チェックアウトされている場合、青色で表示されます。

尚、これらの色は自由にカスタマイズできます。

POINT:この VHV画面からも、前述の旧バージョンとの比較を実行できます。比較したいバージョンを右クリックし、「以前のバージョンとの比較」を選択します。

Page 37: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 36

その他のバージョン間の比較その他のバージョン間の比較その他のバージョン間の比較その他のバージョン間の比較 一つ前のバージョン以外のバージョン同士を比較する場合は、VHV 画面上から

実行します。

1. VHVを起動します。

2. 比較したいバージョンの選択し、右クリックメニューから「ノードをマーク」を選択します。バージョンに赤い三角マークがつきます。

3. 比較したいもう一方のバージョンを選択し、右クリックメニューから「マーク・ノードと比較」を選択します。

上記例では、マーク・ノードであるバージョン 1.1 と、選択ノードである

バージョン 1.0.1.1とが比較されます。

Page 38: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 37

バージョン・イベントの表示バージョン・イベントの表示バージョン・イベントの表示バージョン・イベントの表示 バージョン管理されているオブジェクトについて、発生したすべてのイベント

細目を表示することが可能です。Version Event Viewerを使用します。

1. 右クリックから、「ソース・コントロール→Version Eventの表示」を選択し

ます。

2. Version Event Viewer(VEV)が起動します。VEV内には、各イベントのタ

イプやオブジェクト名、バージョン・ラベル、イベントが発生した日付な

どが表示されます。

3. VEV では、表示細目をカスタマイズできます。ここでは例として、表示細

目の順番を変更します。VEV 画面右上のドロップダウン・リストから「ユ

ーザー」を選択し、「追加」をクリックします。

新しい属性「ユーザー」が追加されます。

Page 39: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 38

4. 「レポート・キー」内で「ユーザー」を選択し、「左へ移動」をクリックします。

5. 次に「日付」を選択した状態で「上位」をクリックし、「ラベル」の下まで移動します。

6. 「再走査」をクリックすると、変更したレイアウトでレポートが表示されます。

この他、指定日付の間のイベントだけを表示するようカスタマイズすることも

できます。この場合は、「開始日」/「終了日」チェックボックスにチェックしてそ

れぞれの日付のリストボックスをアクティブにし、期間を指定します。

過去のバージョンの使用過去のバージョンの使用過去のバージョンの使用過去のバージョンの使用

開発が進行した後で、過去のバージョンのソース・ファイルが必要になる場合

があります。Oracle9i SCM を用いたソース管理では、新規にワークエリアを作成

し、そのワークエリアに対して、 ��特定の過去の期間を指定した規則

��特定の日付以前のチェックイン・バージョンを使用する規則

などの規則を適用することで、その規則に適合したバージョンのファイルを元

に開発を行うことが可能になります

この具体的な方法については、『ワークエリア仕様の編集』を参考にしてくださ

い。

Page 40: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 39

ソース・コントロールに関する注意点ソース・コントロールに関する注意点ソース・コントロールに関する注意点ソース・コントロールに関する注意点

Oracle9i SCMのソース管理下にあるファイルに対して、JDeveloper上で起動され

た VHVでは、各ノードに対する右クリックメニューからソース・コントロール操

作(チェックイン、チェックアウト、マージ)が選択可能ですが、これらはサポ

ートされません。JDeveloper上では、次の方法でソース・コントロール操作を行っ

てください。

��チェックアウト

�� メニュー「ファイル→ソース・コントロール→チェックアウト」

�� システム・ナビゲータでの右クリックメニュー

「ソース・コントロール→チェックアウト」

��チェックイン

�� メニュー「ファイル→ソース・コントロール→チェックイン」

�� システム・ナビゲータでの右クリックメニュー

「ソース・コントロール→チェックイン」

��マージ

�� メニュー

「ファイル→ソース・コントロール→マージ・ファイル・バージョン」

�� メニュー

「ファイル→ソース・コントロール→プライベート・ブランチの終了」

(プライベート・ブランチを使用している場合のみ)

Page 41: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 40

付録付録付録付録: リポジトリ・ユーザーの登録リポジトリ・ユーザーの登録リポジトリ・ユーザーの登録リポジトリ・ユーザーの登録

Oracle9i SCM のソース・コントロール機能を使用するためには、リポジトリへのアクセ

ス・アカウントが必要です。このアカウントが与えられたユーザーをリポジトリ・ユーザ

ーと呼びます。

JDeveloperで使用するデータベース・ユーザーを、リポジトリ・ユーザーとしてあらかじ

め登録しておく必要があります。リポジトリ・ユーザーへの登録は、Oracle9i SCM の管理

ツール Repository Administration Utility(以下 RAU)で行います。

通常、リポジトリ・ユーザーへの登録はリポジトリ管理者が行うべき作業ですが、ここ

では簡単にその方法を説明します。

1. Oracle 9iDSの Oracle Software Configuration Managerがインストールされているマシ

ンにログオンし、スタート・メニューから「プログラム→Oracle9i Developer Suite→

Oracle9i Software Configuration Manager→Repository Administration Utility」を選択しま

す。

2. RAUが起動されます。リポジトリ管理者ユーザーで、リポジトリに接続します。

3. 「ユーザー保守」ボタンをクリックします。「ユーザー保守」ダイアログが起動します。

4. 「ユーザー」ノードを選択し、「追加」ボタンをクリックします。「リポジトリ・ユーザー・プロパティ」ダイアログが起動します。

5. 「Oracleユーザー名」には、リポジトリが存在する Oracleデータベースに登録され

ているデータベース・ユーザーがリストされます。リポジトリ・ユーザーとして登

録したいデータベース・ユーザーを選択します。

6. 必要に応じて、コメントや権限制御を行い、「OK」をクリックします。

ユーザーノードに新しくユーザーが追加されます。

権限の詳細や RAUの詳細などについては、『SCM活用ガイド』を参照して下さい。

Page 42: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 41

最後に最後に最後に最後に

この資料では、JDeveloperを用いてチーム開発を行う際に有用な Oracle9i SCMとの連携

について説明しました。

JDeveloperに関するより詳細な情報は、別途 OTN-Japanで公開される予定です。是非、ご

活用ください。現在、以下の資料が公開予定となっています。

��Oracle9i JDeveloperチュートリアル

�� はじめての Oracle9i JDeveloper

�� Servlet

�� JavaServer Pages

�� Enterprise Java Beans

�� Business Components for Java

�� Webサービス

�� デバッグ

�� Javaアプリケーションのチューニング

��Business Components for Java技術資料

�� J2EEデザイン・パターンに基づくデータアクセスの実現

�� J2EEアプリケーションのデータアクセスにおけるパフォーマンスと

スケーラビリティのための構成

�� Business Components for Javaによるアプリケーションの構築

�� J2EEデータアクセス・フレームワーク

※ 資料の名称等については、変更する可能性があります。

Page 43: Oracle9i JDeveloperotndnld.oracle.co.jp/.../jdev/pdf/jdev903_tutorial_SCM.pdfOracle9i JDeveloper - Oracle SCM によるチーム開発 - 3 Oracle9i SCMとは? Oracle9i SCMは、システム開発プロジェクトにおいて発生する様々な種類の情報(ソー

Oracle9i JDeveloper - Oracle SCM によるチーム開発 - 42

日本オラクル株式会社日本オラクル株式会社日本オラクル株式会社日本オラクル株式会社

Copyright © 2003 Oracle Corporation Japan. All Rights Reserved.

無断転載を禁ず

この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されるこ

とがあります。日本オラクル社は本書の内容に関していかなる保証もいたしません。また、

本書の内容に関連したいかなる損害についても責任を負いかねます。

Oracle は、オラクル社の登録商標です。Oracle8、Oracle8i、Oracle9i、Net8 は、オラクル

社の商標または登録商標です。

他のすべての企業名と製品名は、識別のためにのみ掲載されており、それぞれの所有者

の商標の場合があります。