Filters out nodes with or without the given
prefixes
from
dumpStream
to
resultDumpStream
. This method is similar to the functionality provided by the
'svndumpfilter'
utility.
If
exclude
is
true then filters out nodes with
prefixes
, otherwise nodes without
prefixes
.
If the caller has {@link #setEventHandler(ISVNEventHandler) provided} an event handler, the handler will be called with different actions:
{@link SVNAdminEventAction#DUMP_FILTER_TOTAL_REVISIONS_DROPPED} - use {@link SVNAdminEvent#getDroppedRevisionsCount()} to retrieve the total number of dropped revisions. {@link SVNAdminEventAction#DUMP_FILTER_DROPPED_RENUMBERED_REVISION} - is sent only when renumberRevisions
is true and informs that an original revision (which is provided as {@link SVNAdminEvent#getRevision()}) was dropped. {@link SVNAdminEventAction#DUMP_FILTER_RENUMBERED_REVISION} - is sent only when renumberRevisions
is true and informs that the original revision (provided as {@link SVNAdminEvent#getOriginalRevision()}) was renumbered to {@link SVNAdminEvent#getRevision()}. {@link SVNAdminEventAction#DUMP_FILTER_DROPPED_NODE} - says that {@link SVNAdminEvent#getPath()} was dropped. {@link SVNAdminEventAction#DUMP_FILTER_TOTAL_NODES_DROPPED} - use {@link SVNAdminEvent#getDroppedNodesCount()} to retrieve the total number of dropped nodes. {@link SVNAdminEventAction#DUMP_FILTER_REVISION_COMMITTED} - is sent to inform that the original revision {@link SVNAdminEvent#getOriginalRevision()} resulted in {@link SVNAdminEvent#getRevision()} in the output. {@link SVNAdminEventAction#DUMP_FILTER_REVISION_SKIPPED} - is sent to inform that the original revision {@link SVNAdminEvent#getRevision()} is dropped (skipped).
@param dumpStream the input repository dump stream
@param resultDumpStream the resultant (filtered) dump stream
@param exclude whether to exclude or include paths with the specified
prefixes
@param renumberRevisions if
true, renumbers revisions leftafter filtering
@param dropEmptyRevisions if
true, then removes revisionsemptied by filtering
@param preserveRevisionProperties if
true, then does not filterrevision properties
@param prefixes prefixes of the path to filter
@param skipMissingMergeSources if
true, then skips missig merge sources
@throws SVNException
@since 1.2.0, SVN 1.5.0