Eclipse チーム・サポートは、バージョン管理および構成管理リポジトリーの機能のプラグインによる統合を可能にする API を定義します。リポジトリーによって提供される機能は、基本的にユーザーのワークフローに影響を及ぼします。ファイルの検索、検索したファイルの内容とローカルの内容の比較、およびファイルのバージョン管理を行い、更新したファイルをリポジトリーに戻す追加ステップがあるためです。チーム・プラグイン API のゴールは、非活性であることです。その結果、リポジトリー・プラグイン・プロバイダーは独自のワークフローを定義し、そのプロバイダーの製品を使い慣れたユーザーが同様の方法でプラットフォームを使用できるようになり、またチーム・プラグインにとって有用なワークフローをサポートできます。
このゴールは、複数のビルディング・ブロックを供給することによって達成されます。
リポジトリー・プロバイダーにより、ワークスペース・リソースとリモート・ロケーションの同期が可能になります。少なくとも、ワークスペースのリソースをリモート・ロケーションにプッシュし、リモート・ロケーションからワークスペースにリソースをプルすることができます。リポジトリー・プロバイダーはプロジェクトに関連付けられ、IFileModificationValidator および IMoveDeleteHook をオプションで提供することによって、プロジェクトのリソースを制御します。各プロジェクトに関連付けられたリポジトリー・プロバイダーは 1 つだけです。ユーザーは、IConfigurationWizard を提供することによって、リポジトリー・プロバイダーをプロジェクトに関連付けます。リポジトリー・プロバイダーは、チーム・プロジェクト設定機能を通じて、ワークスペースへのプロジェクトのエクスポートおよびインポートに参加できます。これをサポートするには、リポジトリー・プロバイダーで ProjectSetCapability が実装されている必要があります。
チーム操作に関するリソースの特殊な処理を他のプラグインが指示できるようになります。リポジトリー・プロバイダーは、リソースをチーム専用とマークし、リソースを原則として他のプラグインから隠すことができます。これは IResource#setTeamPrivateMember メソッドを使用して行い、通常はリポジトリー・プロバイダー固有のメタファイルをユーザーから隠すために行います。また、ビルダーは多くの場合、ビルド出力を「派生」とマークします。このマークは、リポジトリー・プロバイダーに対して、リソースが一過性であり、リポジトリー・プロバイダーはそれを無視できることを示すヒントになります。プロバイダーは、IResource#isDerived メソッドを通して、リソースのこのフラグを確認できます。
また、他のプラグインは、org.eclipse.team.core.fileTypes 拡張を使用してファイル・タイプ情報に関するヒント、および org.eclipse.team.core.ignore 拡張を使用してリポジトリーが無視すべき共通ファイルに関するヒントを、リポジトリー・プロバイダーに提供できます。
同期サポートは、同期情報 (SyncInfo、SyncInfoSet) の動的コレクションを管理するためのクラスおよびインターフェースを提供します。このサポートは、ワークスペース内のリソースのバリアントに関する情報の管理に役立ちます。例えば、FTP では、最新のリモート・ファイルのタイム・スタンプと現在ロードされているリソースのベースを保管できます。同期サポートには、リソース・バリアントの管理および持続化を支援し、ユーザーに同期状態を表示する API があります。
論理モデル統合サポートは、論理モデルのチーム操作への参加を可能にする API を定義します。モデル・ベースのビューでは、モデル・プロバイダーがこのサポートを使用して、チーム装飾およびチーム操作をそれぞれのモデル要素に使用することができます。リソース・ベースのビュー (リソース・ナビゲーターなど) では、モデル・プロバイダーがこのサポートを使用して、リソース上で実行された操作によってモデルが破壊されないか検証したり、モデル要素を構成するすべてのリソースがチーム操作に組み込まれていることを確認したりすることができます。チーム・マージ操作では、この API により、モデル・プロバイダーがマージ操作中にモデル・セマンティクスを使用したり、マージ操作のプレビューに参加したりできるようになります。論理モデル統合サポートの説明は、論理モデル統合のリポジトリー・ロードマップと論理モデル統合のモデル・ロードマップに分けられています。
UI サポートも受動的に構成されます。 チーム・プロバイダー・アクション、設定、およびプロパティーのプレースホルダーはチーム UI プラグインによって定義されますが、これらの UI 要素の定義はチーム・プラグイン・プロバイダーの責任です。 チーム UI プラグインには、ユーザーがプロジェクトをリポジトリーに関連付けることを可能にする、単純で拡張可能な構成ウィザードも組み込まれています。 プラグインは、ユーザーがリポジトリーに固有の情報を指定することを可能にするこのウィザードのコンテンツを提供できます。
複数のリポジトリー・プロバイダーがプラットフォーム内で問題なく共存できます。実際、同じリポジトリー用のさまざまなクライアント実装をインストールすることさえも可能です。例えば、専門家用に設計された CVS クライアントと、初心者用に設計された別の CVS クライアントをインストールすることができます。