public boolean loadCommitInBranch()

in git-agent/src/main/java/jetbrains/buildServer/buildTriggers/vcs/git/agent/AgentCommitLoaderFactory.java [148:187]


    public boolean loadCommitInBranch(@NotNull String sha, @NotNull String branch, boolean enforceFetch) throws VcsException {
      final FetchHeadsMode fetchHeadsMode = myPluginConfig.getFetchHeadsMode();
      switch (fetchHeadsMode) {
        case ALWAYS:
          myLogger.message(getForcedHeadsFetchMessage());

          beforeFetch();
          fetchAllBranches();
          if (isSingleBranchFetchRequired(branch) && isFetchRequired(sha, branch)) {
            fetchBranch(branch);
          }
          break;

        case BEFORE_BUILD_BRANCH:
          if (!isFetchRequired(sha, branch, enforceFetch)) return true;

          beforeFetch();
          fetchAllBranches();
          if (isSingleBranchFetchRequired(branch) && isFetchRequired(sha, branch)) {
            fetchBranch(branch);
          }
          break;

        case AFTER_BUILD_BRANCH:
          if (!isFetchRequired(sha, branch, enforceFetch)) return true;

          beforeFetch();
          fetchBranch(branch);
          if (hasRevision(sha)){
            return true;
          }
          fetchAllBranches();
          break;

        default:
          throw new VcsException("Unknown FetchHeadsMode: " + fetchHeadsMode);
      }

      return hasRevision(sha);
    }