El soporte de equipo de Eclipse define una API que permite a los plug-ins integrar la función de un repositorio de gestión de configuración y versiones. La función suministrada por un repositorio afecta fundamentalmente al flujo de trabajo de los usuarios, ya que existen pasos adicionales para recuperar archivos, comparar su contenido con el contenido local, crear versiones de ellos y devolver los archivos actualizados al repositorio. El objetivo de la API de plug-in de equipo consiste en ser lo suficientemente pasiva como para permitir que los proveedores de plug-in de repositorio definan su propio flujo de trabajo a fin de que los usuarios que estén familiarizados con el producto puedan utilizar la plataforma de forma parecida y suministrar soporte para flujos de trabajo considerados de utilidad para los plug-ins de equipo.
Este objetivo se materializa suministrando varios bloques de construcción:
Un proveedor de repositorios permite la sincronización de los recursos del espacio de trabajo con una ubicación remota. En su versión mínima, permite enviar los recursos del espacio de trabajo a una ubicación remota y realizar el proceso inverso. Un proveedor de repositorios se asocia con un proyecto y controla los recursos del mismo proporcionando opcionalmente un IFileModificationValidator y un IMoveDeleteHook. Sólo existe un proveedor de repositorios asociado con cada proyecto. El usuario asocia un proveedor de repositorios con un proyecto suministrando un IConfigurationWizard. Los proveedores de repositorios también pueden participar en la exportación e importación de proyectos en el espacio de trabajo por medio de la característica de conjunto de proyectos de equipo. Para dar soporte a esta característica, un proveedor de repositorios debe implementar una ProjectSetCapability.
Permite a otros plug-ins indicar el manejo especial de los recursos con respecto a operaciones de equipo. El proveedor de repositorios puede marcar los recursos como privados del equipo, con lo que esencialmente el recurso queda oculto a los demás plug-ins. Esta operación se realiza por medio del método IResource#setTeamPrivateMember y se lleva a cabo generalmente para ocultar al usuario metaarchivos específicos del proveedor de repositorios. Asimismo, los constructores marcarán con frecuencia la salida de construcción como derivada, lo que ofrece al proveedor de repositorios un indicio de que el recurso es temporal y puede pasarlo por alto. Un proveedor puede colocar este distintivo en un recurso por medio del método IResource#isDerived.
Además, otros plug-ins pueden añadir sugerencias para el proveedor de repositorios relativas a la información de tipo de archivo por medio de la extensión org.eclipse.team.core.fileTypes y acerca de archivos comunes que el repositorio debe pasar por alto por medio de la extensión org.eclipse.team.core.ignore.
El soporte de sincronización suministra clases e interfaces para gestionar colecciones dinámicas de información de sincronización (SyncInfo, SyncInfoSet). Este soporte ayuda a gestionar información relativa a las variantes de los recursos del espacio de trabajo. Por ejemplo, con FTP puede almacenar indicaciones de la hora para el archivo remoto más reciente y para la base del recurso cargado actualmente. El soporte de sincronización proporciona API que facilitan la gestión y la persistencia de variantes de recurso y la visualización del estado de sincronización por parte del usuario.
El soporte de integración de modelos lógicos define una API que permite a los modelos lógicos participar en las operaciones de equipo. En las vistas basadas en modelo, los proveedores de modelos pueden utilizar este soporte para que las decoraciones y operaciones de equipo aparezcan en sus elementos de modelo. En las vistas basadas en recursos (por ejemplo, navegador de recursos), los proveedores de modelos pueden utilizar este soporte para comprobar que las operaciones realizadas sobre los recursos no dañen el modelo y para asegurarse de que todos los recursos que constituyen un elemento de modelo se incluyan en las operaciones de equipo. Para las operaciones de fusión de equipo, la API permite a los proveedores de modelos utilizar la semántica del modelo durante las operaciones de fusión y participar en la vista previa de la operación de fusión. La descripción del soporte de integración de modelos lógicos se divide en un Mapa de ruta de repositorios de integración de modelos lógicos y un Mapa de ruta de modelos para integración de modelos lógicos.
El soporte de la UI también está estructurado de manera pasiva. El plug-in de la UI del equipo es el que define los espacios reservados para las acciones, las preferencias y las propiedades del proveedor del equipo, pero se deja que sea el proveedor del plug-in del equipo el que defina estos elementos de la UI. El plug-in de la UI del equipo también incluye un asistente de configuración simple y ampliable que permite a los usuarios asociar proyectos a los repositorios. Los plug-ins pueden suministrar contenido para este asistente, que permita al usuario especificar información específica del repositorio.
Puede haber varios proveedores de repositorios que coexistan pacíficamente en la plataforma. De hecho, incluso es posible tener instaladas distintas implementaciones de cliente para un mismo repositorio. Por ejemplo, una podría instalar un cliente CVS diseñado para los expertos y otra para los usuarios principiantes.