Interface BuildPatchByCheckoutRules

All Superinterfaces:
BuildPatchPolicy, VcsExtension
All Known Implementing Classes:

public interface BuildPatchByCheckoutRules
extends BuildPatchPolicy

This patch building policy implies using CheckoutRules for narrowing scope of source files. A simpler approach is presented by BuildPatchByIncludeRules

See Also:
BuildPatchByIncludeRules, CheckoutRules

Method Summary
 void buildPatch(VcsRoot root, java.lang.String fromVersion, java.lang.String toVersion, PatchBuilder builder, CheckoutRules checkoutRules)
          Called to retreive detailed info on modification between two given revisions.

Method Detail


void buildPatch(@NotNull
                VcsRoot root,
                java.lang.String fromVersion,
                java.lang.String toVersion,
                PatchBuilder builder,
                CheckoutRules checkoutRules)
Called to retreive detailed info on modification between two given revisions. Results are to be fed to the builder passed.

root - current settings
fromVersion - collect files, changed since this version. If it is null, collect all project files for 'toVersion' parameter (full checkout patch).
toVersion - collect files, changed between 'fromVersion' and this version
builder - call methods of this interface in order to build patch.
checkoutRules - checkout rules for sources to get.
Throws: - rethrow this exception, if it will be thrown from some PatchBuilder method
VcsException - throw this exception if some problem occurred while collecting chanegs or changes cannot be collected because of invalid configuration. Localized message will be shown on the web page for the corresponding project.
IncrementalPatchImpossibleException - if this exception is thrown during building an incremental patch (fromVersion is not null) this method will be called again with fromVersion set to null, i.e. full checkout patch will be requested. This is useful for the situation when the uderlying VCS repository has forgotten the fromVersion for some reason and therefore VCS support is unable to extract the differences.
See Also:
service class prevents you from manual mapping of file pathes.