Interface DagEdgeRelationsProvider

  • All Known Implementing Classes:
    DagEdgeRelationsProviderImpl

    public interface DagEdgeRelationsProvider
    Provides information about commit graph edges relations to buildTypes, similar to SVcsModification.getRelatedConfigurations() and related methods.

    Edge is marked as related to buildType if there were changes matched by checkout rules between the parent and child commits of the edge.

    For merge commits it is not enough to track relations for commit itself. We mark commit as related if it merges 2+ branches with changes matched by checkout rules (AnalyzeMergedBranches). To select a correct build revision when commit merges only one interesting branch we need to track relations for commit graph edges.

    • Method Detail

      • isRelated

        boolean isRelated​(long childModId,
                          int parentNum,
                          @NotNull
                          SBuildType buildType,
                          @NotNull
                          Predicate<RelationType> predicate)
        Returns true if the edge to childModId from its parentNum-th parent has relation to the specified buildType satisfying the given predicate.