Eclipse 팀 지원은 플러그인이 구성 관리 저장소 및 버전화 기능을 통합할 수 있게 하는 API를 정의합니다. 저장소에서 제공하는 기능은 파일 검색, 해당 컨텐츠를 로컬 컨텐츠와 비교, 파일 버전화 및 갱신된 파일을 저장소로 리턴하는 추가 단계가 있기 때문에 사용자 작업 흐름에 근본적으로 영향을 줍니다. 팀 플러그인 API의 목적은 제품에 익숙한 사용자가 유사한 방식으로 플랫폼을 사용하고 발견한 팀 플러그인에 유용한 작업 흐름에 대한 지원을 제공할 수 있도록 저장소 플러그인 제공자가 고유 작업 흐름을 충분히 정의하게 하는 것 입니다.
이 목적은 다음과 같이 여러 빌딩 블록을 제공함으로써 이루어집니다.
저장소 제공자를 사용하면 원격지와 작업공간 자원 동기화가 허용됩니다. 최소한 저장소 제공자를 사용하면 작업공간의 자원을 원격지로 밀어내고 원격지에서 작업공간으로 밀어낼 수 있습니다. 저장소 제공자는 프로젝트와 연관되며 IFileModificationValidator 및 IMoveDeleteHook를 선택적으로 제공하여 프로젝트의 자원을 제어합니다. 각 프로젝트와 연관된 저장소 제공자는 하나만 있습니다. 사용자는 IConfigurationWizard를 제공하여 프로젝트와 저장소 제공자를 연관시킵니다. 또한 저장소 제공자는 팀 프로젝트 세트 기능을 통해 작업공간으로 프로젝트를 내보내고 가져오는 데 참여할 수도 있습니다. 이를 지원하기 위해 저장소 제공자는 ProjectSetCapability를 구현해야 합니다.
다른 플러그인이 팀 조작에 대해 자원의 특수 처리를 표시할 수 있도록 합니다. 저장소 제공자는 다른 플러그인으로부터 자원을 숨기는 팀 개인용으로 자원을 표시할 수 있습니다. 이 작업은 IResource#setTeamPrivateMember 메소드를 통해 수행되며, 일반적으로 사용자로부터 저장소 제공자 특정 메타 파일을 숨기기 위해 수행됩니다. 또한 빌더는 종종 빌드 출력을 파생된 것으로 표시하는데, 이것은 자원이 임시적이며 저장소 제공자에서 무시될 수 있다는 저장소 제공자에 대한 힌트입니다. 제공자는 IResource#isDerived 메소드를 통해 자원에서 이 플래그를 확인합니다.
또한 기타 플러그인은 org.eclipse.team.core.fileTypes 확장을 통해 파일 유형 정보에 대한 힌트 및 org.eclipse.team.core.ignore 확장을 통해 저장소에서 무시해야 하는 공통 파일에 대한 힌트를 저장소 제공자에게 제공할 수 있습니다.
동기화 지원은 동기화 정보(SyncInfo, SyncInfoSet)의 동적 콜렉션을 관리하기 위한 클래스 및 인터페이스를 제공합니다. 이 지원은 작업공간에 있는 자원의 변형에 대한 정보를 관리하는 데 도움이 됩니다. 예를 들어 FTP를 사용하여 최신 원격 파일의 시간 소인 및 현재 로드된 자원의 기본을 저장할 수 있습니다. 동기화 지원은 자원 변형을 관리하고 유지하며 동기화 상태를 사용자에게 표시하는 데 도움이 되는 API를 제공합니다.
또한 UI 지원도 수동으로 구성할 수 있습니다. 팀 제공자 조치, 환경 설정 및 특성에 대한 위치 표시기는 팀 UI 플러그인에서 정의하지만 이들 UI 요소를 정의하는 것은 팀 플러그인 제공자입니다. 그리고 팀 UI 플러그인이 간단하고 확장 가능한 구성 마법사를 포함하므로 프로젝트와 저장소를 연관할 수 있습니다. 플러그인은 사용자가 저장소별 정보를 지정할 수 있도록 이 마법사에 컨텐츠를 제공할 수 있습니다.
다중 저장소 제공자는 플랫폼 내에서 아무 문제 없이 공존할 수 있습니다. 사실 동일한 저장소에 대해 다른 클라이언트 구현을 설치할 수도 있습니다. 예를 들어 전문가용으로 설계된 CVS 클라이언트를 설치한 후 초보자용으로 다른 클라이언트를 설치할 수 있습니다.