shared および visible という 2 つの状態は、共有プロジェクトでのみ使用されます。これらの状態がどのような場合に使用されるかは、オブジェクトのタイプによって異なります。
shared 状態は、共有プロジェクトで使用されます。shared 状態は、プロジェクトのライフサイクル内の working 状態と prep 状態の間にあり、すべてのユーザーが共有プロジェクトで作業できます。 デフォルトでは、working オブジェクトは共有プロジェクトでは使用されません。
visible 状態および shared 状態は、共有プロジェクト内のチェックアウトされたオブジェクトに使用されます。
visible 状態は、通常の (プロダクト以外の) オブジェクトの共有開発に使用されます。オブジェクトを変更できるのはオブジェクトの所有者のみです。 ただし、working プロジェクトまたは共有プロジェクトにそのオブジェクトを追加することで、すべてのユーザーがそのオブジェクトを使用できます。
shared 状態は、プロダクト・オブジェクトの共有開発に使用されます。すべてのユーザーが、共有オブジェクトを変更および使用することができます。
どのユーザーでも共有プロジェクトを作成できます。 ただし、ビルド・マネージャーが共有プロジェクトの担当者になることをお勧めします。ビルド・マネージャーがプロジェクト管理 (作成、更新プロパティーの設定、更新の実行など) をよく理解していることがその理由です。ただし、すべてのユーザーがプロジェクトをよく理解している環境では、チーム・リーダーが共有プロジェクトの担当者になることもできます。各開発者が緊密に連携している小規模なチームでは、個々の開発者を共有プロジェクトの担当者にしても、問題なく機能する場合があります。
プロジェクトのライフサイクルは working 状態から始まりますが、「プロジェクトのコピー」ダイアログ・ボックスでプロジェクトの目的を「開発の共有」に設定することにより、プロジェクトを shared 状態に直接チェックアウトすることができます。コマンド・ラインから共有プロジェクトをチェックアウトするには、ccm copy_project コマンドを、-purpose shared オプションと共に使用します。あるいは、プロジェクトを working 状態にチェックアウトしてから、プロジェクトの目的を「開発の共有」に変更します。
Rational® Synergy GUI では、「プロジェクトの作成」ダイアログ・ボックスを使用して、「開発の共有」を選択します。
Synergy CLIでは、ccm create -t project コマンドを -purpose "Shared Development" オプションと共に使用します。
共有プロジェクトで作業する場合、標準的なプロジェクトとは異なる方法でチェックアウト操作およびチェックイン操作を実行する必要があります。
共有プロジェクトでは、ディレクトリーをチェックアウトするすべてのコマンドは、ディレクトリーのチェックインも自動的に行います。この機能により、すべてのユーザーが共有ディレクトリーを使用することができ、ディレクトリーに対して自分が変更を行う前に、ディレクトリー・メンバーへの変更が完了するまで待機する必要はなくなります。
例えば、ユーザーが web ディレクトリーでファイルを作成した場合、そのディレクトリーは create コマンドの結果として自動的にチェックアウトされます。ディレクトリーは自動的にチェックインされるため、このユーザーがファイルを変更している間に、他の開発者が変更を加えることができます。ディレクトリーが自動的にチェックインされなければ、ユーザーが変更を完了するまでディレクトリーはチェックアウトされたまま (および変更不可のまま) になります。
サーバーの CCM_HOME/etc インストール・パスにある ccm.ini ファイルに以下の行を入力すると、自動ディレクトリー・チェックイン機能がオフになります。
shared_project_directory_checkin = FALSE
チェックアウトされた可視オブジェクトからチェックアウトすることはできません。 ただし、共有プロジェクトでは、チェックアウトされたオブジェクトの別のバージョンを (ccm use コマンドまたは「使用 (Use)」ダイアログ・ボックスによって) 使用することで、チェックアウトされたオブジェクトを置き換えることができます。チェックアウトされたオブジェクトの別のバージョンを使用すると、別のユーザーがチェックアウトしたオブジェクトが使用解除されます。
自分用にチェックアウトしたファイルのみを編集してください。ファイルの権限を変更してファイルを書き込み可能にすることは避けてください。
共有プロジェクトで作業する場合、標準的なプロジェクトとは異なる方法でプロジェクト更新操作を実行する必要があります。
共有プロジェクトの 1 つのバージョンのみが存在する (プロジェクトの working バージョンを持つユーザーがいない) 場合、共有プロジェクトを保守する必要はほとんどありません。共有プロジェクトは常に最新の状態であり、更新は不要です。 共有プロジェクトを作成し、基本的な Rational Synergy コマンドを使用してプロジェクトを更新することをユーザーに許可します。例えば、現行タスクの設定、チェックアウト、作成、編集、タスクの完了などのコマンドを使用します。
共有プロジェクトの working バージョンが存在する場合は、ビルド・マネージャーがその共有プロジェクトを更新して、working プロジェクトで行われた変更を収集する必要があります。更新プロパティーは、現行リリースのすべてのタスクのクエリーを行うようにセットアップされた、1 つのフォルダーを含んでいなければなりません。このフォルダーはすべてのユーザーが書き込み可能かつ使用可能なものでなければなりません。
更新によって多くのオブジェクトが変更され、共有プロジェクトを使用する開発者に影響を与える可能性があります。そのため、プロジェクトを使用しているユーザーが少ないときに更新を実行してください。また、更新後に、ビルド・マネージャーは、予期しない結果やマージする必要のあるパラレル・バージョンがないかどうかを更新ログで調べてください。
ユーザーは共有プロジェクトを同期化できます。ただし、各ユーザーは、静的 状態にあるオブジェクト変更または自分に対してチェックアウトされたオブジェクト変更のみを破棄できます。 別のユーザーに対してチェックアウトされたオブジェクトを、同期化操作を使用して変更することはできません。
ccm reconcile コマンドを使用して、単一のオブジェクトを同期化します。