小组存储库提供程序

org.eclipse.team.core.repository

2.0

“小组”插件包含“存储库”的概念。存储库的作业用来支持在“小组”成员之间共享资源。存储库是以每个项目为基础配置的。一次只能将一个存储库映射至项目。

扩展此扩展点的存储库可提供特定于公共存储库的规则的实现以进行资源修改、移动和删除。有关更多详细信息,请参阅下列接口:IFileModificationValidatorMoveDeleteHook

还可以指定“存储库”类型,以便提供特定于非项目的功能,例如,org.eclipse.team.core.ProjectSetCapability

存储库提供程序类型可以有选择地指定,它可以在第二个提供程序的插件在当前安装中不可用的情况下,从第二个提供程序导入项目。提供它的目的是为了在不能复用两个提供程序的相同标识的情况下,作为一种手段来支持从一个提供程序实现迁移至另一个提供程序实现。

存储库提供程序类型还可以指定一个或多个相对于父容器的元文件路径(用逗号定界)。如果未共享的项目或文件夹包含 一些文件,这些文件匹配于与存储库定义相关联的所有元文件路径,则将使用父容器作为自变量来调用 RepositoryProviderType#metaFilesDetected 方法。这样做将使存储库类型有机会将文件标记为小组私有且也有可能共享该项目。有关更多详细信息,请参阅以上所提及的方法的 javadoc。

<!ELEMENT extension (repository)>

<!ATTLIST extension

point CDATA #REQUIRED>


<!ELEMENT repository EMPTY>

<!ATTLIST repository

id            CDATA #IMPLIED

class         CDATA #REQUIRED

typeClass     CDATA #IMPLIED

canImportId   CDATA #IMPLIED

metaFilePaths CDATA #IMPLIED>


<extension point=

"org.eclipse.team.core.repository"

>

<repository class=

"org.eclipse.myprovider.MyRepositoryProvider"

typeClass=

"org.eclipse.myprovider.MyRepositoryProvider"

id=

"org.eclipse.myprovider.myProviderID"

canImportId=

"org.eclipse.myprovider.myOldProviderID"

metaFilePaths=

".meta/files,.meta/version"

>

</repository>

</extension>

class 属性的值必须表示 org.eclipse.team.core.RepositoryProvider 的子类,typeClass 属性的值必须表示 org.eclipse.team.core.RepositoryProviderType 的子类。

所提供的 RepositoryProvider 实现提供了 helper 方法和公共代码以将提供程序映射至项目或取消这些映射。可选的 RepositoryProviderType 通过 ProjectSetCapability 提供了项目集导入和导出。