O suporte da Equipe Eclipse define API que permite que os plug-ins integrem a função de um repositório de gerenciamento de versão e configuração. A função fornecida por um repositório fundamentalmente afeta o workflow do usuário, desde que existam etapas adicionais para recuperar arquivos, comparando seu conteúdo com o conteúdo local, alterando suas versões e retornando arquivos atualizados para o repositório. o objetivo da API do plug-in de equipe é ser passiva o bastante para permitir que os fornecedores de plug-in do repositório definam seu próprio workflow para que os usuários familiarizados com seu produto possam utilizar a plataforma de uma forma semelhante e forneçam suporte para workflows que foram localizados são úteis para os plug-ins da equipe.
Este objetivo é alcançado fornecendo vários blocos de construção:
Um fornecedor de repositório permite a sincronização de recursos do espaço de trabalho com um local remoto. No mínimo, permite enviar recursos no espaço de trabalho para um local remoto e receber recursos de um local remoto para o espaço de trabalho. Um fornecedor de repositório está associado a um projeto e controla os recursos no projeto, opcionalmente fornecendo um IFileModificationValidator e IMoveDeleteHook. Há apenas um fornecedor de repositório associado a cada projeto. Um usuário associa um fornecedor de repositório a um projeto fornecendo um IConfigurationWizard. Os fornecedores de repositório também podem participar da exportação e importação de projetos para o espaço de trabalho via o recurso do conjunto do projeto da equipe. Para suportar isso, um fornecedor de repositório deve implementar um ProjectSetCapability.
Permite que outros plug-ins indiquem uma manipulação especial dos recursos a respeito das operações da equipe. O fornecedor do repositório pode marcar recursos como particulares da equipe que essencialmente oculta o recurso de outros plug-ins. Isso é feito por meio do método IResource#setTeamPrivateMember e é normalmente feito para ocultar do usuário os metarquivos específicos do fornecedor do repositório. Além disso, os construtores marcar~~ao a saída da construção como derivada, que é uma sugestão para um fornecedor do repositório de que o recurso é provisório e pode ser ignorado pelo fornecedor do repositório. Um fornecedor pode verificar esse sinalizador pelo método IResource#isDerived.
Além disso, outros plug-ins podem incluir sugestões para o fornecedor do repositório sobre as informações do tipo de arquivo pela extensão org.eclipse.team.core.fileTypes e sobre os arquivos comuns que devem ser ignorados pelo repositório através da extensão org.eclipse.team.core.ignore.
O suporte de sincronização fornece classes e interfaces para gerenciar coletas dinâmicas de informações de sincronização (SyncInfo, SyncInfoSet). Este suporte ajuda a gerenciar informações sobre as variantes dos recursos no espaço de trabalho. Por exemplo, como o FTP você pode armazenar timestamps para o arquivo remoto mais recente e a base para o recurso carregado atualmente. O suporte de sincronização fornece APIs para ajudar a gerenciar e manter variantes do recurso e exibir o estado de sincronização para o usuário.
O suporte de integração de modelo lógico define a API que permite aos modelos lógicos participar de operações de equipe. Em visualizações baseadas em modelo, os provedores de modelo podem utilizar esse suporte para exibir decorações e operações de equipe nos elementos de modelo. Em visualizações baseadas em recurso (por exemplo, Navegador de Recurso), os provedores de modelo podem utilizar esse suporte para verificar se as operações executadas nos recursos não corromperão o modelo e assegurar-se de que todos os recursos que constituem um elemento de modelo sejam incluídos nas operações de equipe. Para operações de mesclagem de equipe, a API permite que os provedores de modelo utilizem a semântica de modelo durante as operações de mesclagem e participem da visualização da operação de mesclagem. A descrição do suporte para integração de modelo lógico é dividida em Roteiro de Repositório para Integração de Modelo Lógico e Roteiro de Modelo para Integração de Modelo Lógico.
O suporte à UI também é estruturado passivamente. Os marcadores de ações, preferências e propriedades do fornecedor de equipe são definidos pelo plug-in da UI da equipe, mas está a cargo do fornecedor de plug-in da equipe definir esses elementos da UI. O plug-in da UI da equipe também inclui um assistente de configuração simples e extensível que permite que os usuários associem projetos aos repositórios. Os plug-ins podem fornecer conteúdo para este assistente que permite que o usuário especifique informações específicas do repositório.
Vários fornecedores de repositório podem coexistir sem problemas na plataforma. Realmente, é até possível ter implementações diferentes de clientes no mesmo repositório instalado. Por exemplo, um poderia instalar um cliente CVS projetado para especialistas e um diferente para principiantes.