Da innerhalb eines Projekts die Ressourcen, die von der Versionssteuerung betroffen sind, im Repository abgelegt werden, können Projekte mit Teammitgliedern gemeinsam verwendet werden, indem eine gemeinsame Referenz auf repository-spezifische Informationen, die zur Rekonstruktion eines Projektes im Arbeitsbereich benötigt werden, genutzt wird. Hierzu wird eine spezielle Dateiexportoperation für Team-Projektsets verwendet.
In der Version 3.0 wurde API zu ProjectSetCapability hinzugefügt, über die Repository-Provider eine Klasse deklarieren können, die Projektspeicherung bei Projekten ermöglicht, die unter ihrer Steuerung verwaltet werden. Wenn der Benutzer Projektsets exportieren möchte, werden nur die mit Repositories konfigurierten Projekte, die Projektsets definieren, als mögliche Exportkandidaten angezeigt. Diese API ersetzt die ehemalige API für die serielle Anordnung von Projektsets (siehe unten).
Die Klasse für Projektsetfähigkeit eines Repository-Providers wird aus der Klasse RepositoryProviderType abgerufen, die in derselben Erweiterung registriert ist, wie der Repository-Provider. Beispiel:
<extension point="org.eclipse.team.core.repository"> <repository typeClass="org.eclipse.team.internal.ccvs.core.CVSTeamProviderType" class="org.eclipse.team.internal.ccvs.core.CVSTeamProvider" id="org.eclipse.team.cvs.core.cvsnature"> </repository> </extension>
Vor der Version 3.0 konnten Repository-Provider über den Erweiterungspunkt org.eclipse.team.core.projectSets eine Klasse deklarieren, die Projektspeicherung bei Projekten ermöglichte, die unter ihrer Steuerung verwaltet werden. Wenn der Benutzer Projektsets exportieren möchte, werden nur die mit Repositories konfigurierten Projekte, die Projektsets definieren, als mögliche Exportkandidaten angezeigt.
Der CVS-Client deklariert z. B. Folgendes:
<extension point="org.eclipse.team.core.projectSets"> <projectSets id="org.eclipse.team.cvs.core.cvsnature" class="org.eclipse.team.internal.ccvs.ui.CVSProjectSetSerializer"/> </extension>
Die angegebene Klasse muss IProjectSetSerializer implementieren. Die Verwendung dieser Schnittstelle wird in der Version 3.0 zwar noch unterstützt, ist aber inzwischen veraltet.