Die Teamunterstützung von Eclipse definiert API, über die Plug-ins die Funktion eines Repositorys für Versionssteuerung und Konfigurationsverwaltung integrieren können. Eine von einem Repository bereitgestellte Funktion hat einen fundamentalen Einfluss auf den Workflow eines Benutzers, da zusätzliche Schritte eingefügt werden, wenn Dateien abgerufen und ihre Inhalten mit lokalen Inhalten verglichen werden, sie versioniert und als aktualisierte Dateien an das Repository zurückgegeben werden. Idealerweise sollte Team-Plug-in-API passiv genug sein, um es den Providern von Repository-Plug-ins zu ermöglichen, ihre eigenen Workflows zu definieren. So können Benutzer, die mit dem jeweiligen Programm bereits vertraut sind, die Plattform auf eine ähnliche Art und Weise nutzen. Die API sollte außerdem Workflows unterstützen, die sich in der Vergangenheit für Team-Plug-ins als nützlich erwiesen haben.
Dieses Ziel wird durch die Bereitstellung mehrerer logischer Bausteine erreicht:
Über einen Repository-Provider können Arbeitsbereichressourcen mit einer fernen Position synchronisiert werden. Als Minimum bietet es die Möglichkeit, Ressourcen im Arbeitsbereich zu einer fernen Position zu verschieben und Ressourcen aus einer fernen Position in den Arbeitsbereich zu ziehen. Ein Repository-Provider wird einem Projekt zugeordnet und steuert die Ressourcen im Projekt, indem es optional IFileModificationValidator und IMoveDeleteHooks zur Verfügung stellt. Jedem Projekt wird nur ein Repository-Provider zugeordnet. Ein Benutzer ordnet einem Projekt einen Repository-Provider über einen IConfigurationWizard zu. Repository-Provider können auch über die Komponente 'Team-Projektset' am Export und Import von Projekten im Arbeitsbereich teilnehmen. Hierfür sollte ein Repository-Provider eine Funktion ProjectSetCapability implementieren.
Hierüber können Plug-ins eine Sonderverarbeitung von Ressourcen in Bezug auf Teamoperationen anzeigen. Der Repository-Provider kann Ressourcen als private Teamressourcen markieren, wodurch sie für andere Plug-ins unsichtbar werden. Dies wird über die Methode IResource#setTeamPrivateMember erzielt und wird normalerweise vorgenommen, um Metadateien, die sich auf den Repository-Provider beziehen, vor dem Benutzer zu verstecken. Erstellungsprogramme markieren Ausgabedaten der Eingliederung auch häufig als 'abgeleitet', wodurch Repository-Providern signalisiert wird, dass die Ressource transient ist und vom Repository-Provider ignoriert werden sollte. Diese Markierung kann durch einen Provider über die Markierung IResource#isDerived aktiviert werden.
Darüber hinaus können andere Plug-ins dem Repository-Provider Hinweise über Dateitypinformationen über die Erweiterung org.eclipse.team.core.fileTypes geben. Hinweise über gemeinsame Dateien, die ignoriert werden sollten, werden über die Erweiterung org.eclipse.team.core.ignore vermittelt.
Synchronisierungsunterstützung stellt Klassen und Schnittstellen zur Verfügung, über die dynamische Zusammenstellungen von Synchronisierungsinformationen verwaltet werden können (SyncInfo, SyncInfoSet). Über diese Unterstützung können Sie Informationen über Varianten der Ressourcen im Arbeitsbereich verwalten. Mit FTP könnten Sie beispielsweise Zeitmarken für die aktuellste ferne Datei speichern, ebenso wie eine Basis der zur Zeit geladenen Ressource. Synchronisierungsunterstützung stellt APIs zur Verfügung, über die Ressourcenvarianten verwaltet und erhalten werden können. Außerdem können sie dem Benutzer einen Synchronisierungsstatus anzeigen.
Die Unterstützung für die Benutzerschnittstelle ist passiv strukturiert. Das Team-Benutzerschnittstellen-Plug-in definiert zwar Platzhalter für die Aktionen, Benutzervorgaben und Eigenschaften des Team-Providers, es gehört jedoch zu den Aufgaben des Team-Plug-in-Providers, diese Benutzerschnittstellenelemente zu definieren. Das Team-Benutzerschnittstellen-Plug-in umfasst außerdem einen einfachen, erweiterbaren Konfigurationsassistenten, mit dem Benutzer Projekte einem bestimmten Repository zuordnen können. Plug-ins können den Inhalt für diesen Assistenten bereitstellen, mit dem Benutzer für das Repository spezifische Informationen angeben können.
Mehrere Repository-Provider können auf einer Plattform problemlos gemeinsam verwendet werden. Es ist sogar möglich, verschiedene Client-Implementierungen für ein bestimmtes Repository zu installieren. Sie können z. B. einen CVS-Client für geübte und einen anderen für weniger erfahrene Benutzer installieren.