public IncludeRulePatchBuilder getPatchBuilder()

in vault-server/src/jetbrains/buildServer/buildTriggers/vcs/vault/VaultVcsSupport.java [277:304]


  public IncludeRulePatchBuilder getPatchBuilder(@NotNull final VcsRoot root, @Nullable final String fromVersion, @NotNull final String toVersion) {
    final VaultConnection connection = getOrCreateConnection(root);

    return new IncludeRulePatchBuilder() {
      public void buildPatch(@NotNull final PatchBuilder builder, @NotNull final IncludeRule includeRule) throws VcsException, IOException {
        final String targetPath = includeRule.getFrom();

        connection.refresh();

        if (connection.objectExists(targetPath, null)) {
          final VaultPatchBuilder patchBuilder = new VaultPatchBuilder(connection, builder, targetPath);

          if (StringUtil.isNotEmpty(fromVersion)) {
            //noinspection ConstantConditions
            if (!fromVersion.equals(toVersion)) {
             patchBuilder.buildIncrementalPatch(fromVersion, toVersion);
            }
          } else {
            patchBuilder.buildCleanPatch(toVersion);
          }
        }
      }

      public void dispose() throws VcsException {
        connection.resetCaches();
      }
    };
  }