Interface VcsSupportCore

    • Method Detail

      • isCurrentVersionExpensive

        default boolean isCurrentVersionExpensive()
        If the obtaining current version is an expensive operation (see CollectSingleStatePolicy#getCurrentVersion(VcsRoot)}) the implementation may optimize performance by returning true. In this case collecting changes for the current version will be done without specifying upper version. Otherwise CollectSingleStatePolicy.getCurrentVersion(VcsRoot) will be called first and then the result will be passed to the change collector as the upper version.
        Returns:
        true if the obtaining current version is an expensive operation.
        See Also:
        CollectChangesPolicy
      • allowSourceCaching

        default boolean allowSourceCaching()
        Returns:
        true if you want TeamCity to use its internal source cache to reuse patches retrieved earlier and minimize patch building. Returning false may have sense if the underlying version control system has its own effective local caching system (e.g. Mercurial).
      • sourcesUpdatePossibleIfChangesNotFound

        boolean sourcesUpdatePossibleIfChangesNotFound​(@NotNull
                                                       VcsRoot root)
        Must return true if source files in the build checkout directory can be updated even if no changes were detected between some versions. This is possible for example if VCS support plugin can't detect changes when a tag/label is moved. Note that if true is returned for some VCS root, plugin should be able to correctly build patch for this VCS root.
        For example, if plugin performs changes collecting in the buildPatch method and then creates patch by detected changes, it should create clean patch for VCS root for which it returned true in this method.
        Parameters:
        root - VCS root
        Returns:
        see above