SVNKit Home

org.tmatesoft.svn.core.wc
Class SVNDiffClient

java.lang.Object
  extended byorg.tmatesoft.svn.core.wc.SVNBasicClient
      extended byorg.tmatesoft.svn.core.internal.wc.SVNMergeDriver
          extended byorg.tmatesoft.svn.core.wc.SVNDiffClient
All Implemented Interfaces:
ISVNCanceller, ISVNEventHandler

public class SVNDiffClient
extends org.tmatesoft.svn.core.internal.wc.SVNMergeDriver

The SVNDiffClient class provides methods allowing to get differences between versioned items ('diff' operation) as well as ones intended for merging file contents.

Here's a list of the SVNDiffClient's methods matched against corresponing commands of the SVN command line client:

SVNKit Subversion
doDiff()'svn diff'
doDiffStatus()'svn diff --summarize'
doMerge()'svn merge'
doGetLogXXXMergeInfo()'svn mergeinfo'

Version:
1.2
Author:
TMate Software Ltd.

Nested Class Summary
 
Nested classes inherited from class org.tmatesoft.svn.core.internal.wc.SVNMergeDriver
org.tmatesoft.svn.core.internal.wc.SVNMergeDriver.MergeAction, org.tmatesoft.svn.core.internal.wc.SVNMergeDriver.MergePath, org.tmatesoft.svn.core.internal.wc.SVNMergeDriver.MergeSource
 
Nested classes inherited from class org.tmatesoft.svn.core.wc.SVNBasicClient
SVNBasicClient.RepositoryReference, SVNBasicClient.SVNRepositoryLocation
 
Field Summary
 
Fields inherited from class org.tmatesoft.svn.core.internal.wc.SVNMergeDriver
myAreSourcesAncestral, myConflictedPaths, myCurrentAncestorIndex, myDryRunDeletions, myHasExistingMergeInfo, myIsAddNecessitatedMerge, myIsDryRun, myIsForce, myIsIgnoreAncestry, myIsMergeInfoCapable, myIsRecordOnly, myIsSameRepository, myIsSingleFileMerge, myIsTargetHasDummyMergeRange, myIsTargetMissingChild, myNotificationsNumber, myOperativeNotificationsNumber, myTarget, myURL
 
Fields inherited from interface org.tmatesoft.svn.core.wc.ISVNEventHandler
UNKNOWN
 
Fields inherited from interface org.tmatesoft.svn.core.ISVNCanceller
NULL
 
Constructor Summary
SVNDiffClient(ISVNAuthenticationManager authManager, ISVNOptions options)
          Constructs and initializes an SVNDiffClient object with the specified run-time configuration and authentication drivers.
SVNDiffClient(ISVNRepositoryPool repositoryPool, ISVNOptions options)
          Constructs and initializes an SVNDiffClient object with the specified run-time configuration and repository pool object.
 
Method Summary
 void doDiff(File[] paths, SVNRevision rN, SVNRevision rM, SVNRevision pegRevision, SVNDepth depth, boolean useAncestry, OutputStream result, Collection changeLists)
          Iterates over the passed in paths calling doDiff(File, SVNRevision, SVNRevision, SVNRevision, SVNDepth, boolean, OutputStream, Collection) for each one in the array.
 void doDiff(File path1, SVNRevision rN, File path2, SVNRevision rM, boolean recursive, boolean useAncestry, OutputStream result)
          Deprecated. use doDiff(File, SVNRevision, File, SVNRevision, SVNDepth, boolean, OutputStream, Collection) instead
 void doDiff(File path1, SVNRevision rN, File path2, SVNRevision rM, SVNDepth depth, boolean useAncestry, OutputStream result, Collection changeLists)
          Produces diff output which describes the delta between path1/rN and path2/rM.
 void doDiff(File path, SVNRevision pegRevision, SVNRevision rN, SVNRevision rM, boolean recursive, boolean useAncestry, OutputStream result)
          Deprecated. use doDiff(File, SVNRevision, SVNRevision, SVNRevision, SVNDepth, boolean, OutputStream, Collection) instead
 void doDiff(File path, SVNRevision pegRevision, SVNRevision rN, SVNRevision rM, SVNDepth depth, boolean useAncestry, OutputStream result, Collection changeLists)
          Produces diff output which describes the delta between path in peg revision pegRevision, as it changed between rN and rM.
 void doDiff(File path1, SVNRevision rN, SVNURL url2, SVNRevision rM, boolean recursive, boolean useAncestry, OutputStream result)
          Deprecated. use doDiff(File, SVNRevision, SVNURL, SVNRevision, SVNDepth, boolean, OutputStream, Collection) instead
 void doDiff(File path1, SVNRevision rN, SVNURL url2, SVNRevision rM, SVNDepth depth, boolean useAncestry, OutputStream result, Collection changeLists)
          Produces diff output which describes the delta between path1/rN and url2/rM.
 void doDiff(SVNURL url1, SVNRevision rN, File path2, SVNRevision rM, boolean recursive, boolean useAncestry, OutputStream result)
          Deprecated. use doDiff(SVNURL, SVNRevision, File, SVNRevision, SVNDepth, boolean, OutputStream, Collection) instead
 void doDiff(SVNURL url1, SVNRevision rN, File path2, SVNRevision rM, SVNDepth depth, boolean useAncestry, OutputStream result, Collection changeLists)
          Produces diff output which describes the delta between url1/rN and path2/rM.
 void doDiff(SVNURL url, SVNRevision pegRevision, SVNRevision rN, SVNRevision rM, boolean recursive, boolean useAncestry, OutputStream result)
          Deprecated. use doDiff(SVNURL, SVNRevision, SVNRevision, SVNRevision, SVNDepth, boolean, OutputStream) instead
 void doDiff(SVNURL url, SVNRevision pegRevision, SVNRevision rN, SVNRevision rM, SVNDepth depth, boolean useAncestry, OutputStream result)
          Produces diff output which describes the delta between url in peg revision pegRevision, as it changed between rN and rM.
 void doDiff(SVNURL url1, SVNRevision rN, SVNURL url2, SVNRevision rM, boolean recursive, boolean useAncestry, OutputStream result)
          Deprecated. use doDiff(SVNURL, SVNRevision, SVNURL, SVNRevision, SVNDepth, boolean, OutputStream) instead
 void doDiff(SVNURL url1, SVNRevision rN, SVNURL url2, SVNRevision rM, SVNDepth depth, boolean useAncestry, OutputStream result)
          Produces diff output which describes the delta between url1/rN and url2/rM.
 void doDiffStatus(File path1, SVNRevision rN, File path2, SVNRevision rM, boolean recursive, boolean useAncestry, ISVNDiffStatusHandler handler)
          Deprecated. use doDiffStatus(File, SVNRevision, File, SVNRevision, SVNDepth, boolean, ISVNDiffStatusHandler) instead
 void doDiffStatus(File path1, SVNRevision rN, File path2, SVNRevision rM, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler)
          Produces a diff summary which lists the changed items between path1/rN and path2/rM without creating text deltas.
 void doDiffStatus(File path, SVNRevision rN, SVNRevision rM, SVNRevision pegRevision, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler)
          Produces a diff summary which lists the changed items between path in peg revision pegRevision, as it changed between rN and rM.
 void doDiffStatus(File path1, SVNRevision rN, SVNURL url2, SVNRevision rM, boolean recursive, boolean useAncestry, ISVNDiffStatusHandler handler)
          Deprecated. use doDiffStatus(File, SVNRevision, SVNURL, SVNRevision, SVNDepth, boolean, ISVNDiffStatusHandler) instead
 void doDiffStatus(File path1, SVNRevision rN, SVNURL url2, SVNRevision rM, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler)
          Produces a diff summary which lists the changed items between path1/rN and url2/rM without creating text deltas.
 void doDiffStatus(SVNURL url1, SVNRevision rN, File path2, SVNRevision rM, boolean recursive, boolean useAncestry, ISVNDiffStatusHandler handler)
          Deprecated. use doDiffStatus(SVNURL, SVNRevision, File, SVNRevision, SVNDepth, boolean, ISVNDiffStatusHandler) instead
 void doDiffStatus(SVNURL url1, SVNRevision rN, File path2, SVNRevision rM, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler)
          Produces a diff summary which lists the changed items between url1/rN and path2/rM without creating text deltas.
 void doDiffStatus(SVNURL url, SVNRevision rN, SVNRevision rM, SVNRevision pegRevision, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler)
          Produces a diff summary which lists the changed items between url in peg revision pegRevision, as it changed between rN and rM.
 void doDiffStatus(SVNURL url1, SVNRevision rN, SVNURL url2, SVNRevision rM, boolean recursive, boolean useAncestry, ISVNDiffStatusHandler handler)
          Deprecated. use doDiffStatus(SVNURL, SVNRevision, SVNURL, SVNRevision, SVNDepth, boolean, ISVNDiffStatusHandler) instead
 void doDiffStatus(SVNURL url1, SVNRevision rN, SVNURL url2, SVNRevision rM, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler)
          Produces a diff summary which lists the changed items between url1/rN and url2/rM without creating text deltas.
 void doGetLogEligibleMergeInfo(File path, SVNRevision pegRevision, File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, String[] revisionProperties, ISVNLogEntryHandler handler)
          Drives a log entry handler with the revisions eligible for merge from mergeSrcPath (as of srcPegRevision) into path (as of pegRevision).
 void doGetLogEligibleMergeInfo(File path, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, String[] revisionProperties, ISVNLogEntryHandler handler)
          Drives a log entry handler with the revisions eligible for merge from mergeSrcURL (as of srcPegRevision) into path (as of pegRevision).
 void doGetLogEligibleMergeInfo(SVNURL url, SVNRevision pegRevision, File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, String[] revisionProperties, ISVNLogEntryHandler handler)
          Drives a log entry handler with the revisions eligible for merge from mergeSrcPath (as of srcPegRevision) into url (as of pegRevision).
 void doGetLogEligibleMergeInfo(SVNURL url, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, String[] revisionProperties, ISVNLogEntryHandler handler)
          Drives a log entry handler with the revisions eligible for merge from mergeSrcURL (as of srcPegRevision) into url (as of pegRevision).
 void doGetLogMergedMergeInfo(File path, SVNRevision pegRevision, File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, String[] revisionProperties, ISVNLogEntryHandler handler)
          Drives a log entry handler with the revisions merged from mergeSrcPath (as of srcPegRevision) into path (as of pegRevision).
 void doGetLogMergedMergeInfo(File path, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, String[] revisionProperties, ISVNLogEntryHandler handler)
          Drives a log entry handler with the revisions merged from mergeSrcURL (as of srcPegRevision) into path (as of pegRevision).
 void doGetLogMergedMergeInfo(SVNURL url, SVNRevision pegRevision, File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, String[] revisionProperties, ISVNLogEntryHandler handler)
          Drives a log entry handler with the revisions merged from mergeSrcPath (as of srcPegRevision) into url (as of pegRevision).
 void doGetLogMergedMergeInfo(SVNURL url, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, String[] revisionProperties, ISVNLogEntryHandler handler)
          Drives a log entry handler with the revisions merged from mergeSrcURL (as of srcPegRevision) into url (as of pegRevision).
 Map doGetMergedMergeInfo(File path, SVNRevision pegRevision)
          Returns mergeinfo as a Map with merge source URLs (as SVNURL) mapped to range lists (SVNMergeRangeList).
 Map doGetMergedMergeInfo(SVNURL url, SVNRevision pegRevision)
          Returns mergeinfo as a Map with merge source URLs (as SVNURL) mapped to range lists (SVNMergeRangeList).
 void doMerge(File path1, SVNRevision pegRevision, Collection rangesToMerge, File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly)
          Merges the changes between path1 in peg revision pegRevision, as it changed between the ranges described in rangesToMerge.
 void doMerge(File path1, SVNRevision revision1, File path2, SVNRevision revision2, File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun)
          Deprecated. use doMerge(File, SVNRevision, File, SVNRevision, File, SVNDepth, boolean, boolean, boolean, boolean) instead
 void doMerge(File path1, SVNRevision revision1, File path2, SVNRevision revision2, File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly)
          Merges changes from path1/revision1 to path2/revision2 into the working-copy path dstPath.
 void doMerge(File path1, SVNRevision pegRevision, SVNRevision revision1, SVNRevision revision2, File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun)
          Deprecated. use doMerge(File, SVNRevision, Collection, File, SVNDepth, boolean, boolean, boolean, boolean) instead
 void doMerge(File path1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun)
          Deprecated. use doMerge(File, SVNRevision, SVNURL, SVNRevision, File, SVNDepth, boolean, boolean, boolean, boolean) instead
 void doMerge(File path1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly)
          Merges changes from path1/revision1 to url2/revision2 into the working-copy path dstPath.
 void doMerge(SVNURL url1, SVNRevision pegRevision, Collection rangesToMerge, File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly)
          Merges the changes between url1 in peg revision pegRevision, as it changed between the ranges described in rangesToMerge.
 void doMerge(SVNURL url1, SVNRevision revision1, File path2, SVNRevision revision2, File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun)
          Deprecated. use doMerge(SVNURL, SVNRevision, File, SVNRevision, File, SVNDepth, boolean, boolean, boolean, boolean) instead
 void doMerge(SVNURL url1, SVNRevision revision1, File path2, SVNRevision revision2, File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly)
          Merges changes from url1/revision1 to path2/revision2 into the working-copy path dstPath.
 void doMerge(SVNURL url1, SVNRevision pegRevision, SVNRevision revision1, SVNRevision revision2, File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun)
          Deprecated. use doMerge(SVNURL, SVNRevision, Collection, File, SVNDepth, boolean, boolean, boolean, boolean) instead
 void doMerge(SVNURL url1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun)
          Deprecated. use doMerge(SVNURL, SVNRevision, SVNURL, SVNRevision, File, SVNDepth, boolean, boolean, boolean, boolean) instead
 void doMerge(SVNURL url1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly)
          Merges changes from url1/revision1 to url2/revision2 into the working-copy path dstPath.
 void doMergeReIntegrate(File srcPath, SVNRevision pegRevision, File dstPath, boolean dryRun)
          Performs a reintegration merge of srcPath at pegRevision into dstPath.
 void doMergeReIntegrate(SVNURL srcURL, SVNRevision pegRevision, File dstPath, boolean dryRun)
          Performs a reintegration merge of srcURL at pegRevision into dstPath.
 Collection doSuggestMergeSources(File path, SVNRevision pegRevision)
          Returns a collection of potential merge sources (expressed as full repository URLs) for path at pegRevision.
 Collection doSuggestMergeSources(SVNURL url, SVNRevision pegRevision)
          Returns a collection of potential merge sources (expressed as full repository URLs) for url at pegRevision.
 ISVNDiffGenerator getDiffGenerator()
          Returns the diff driver being in use.
 SVNDiffOptions getMergeOptions()
          Gets the diff options that are used in merge operations by this client.
 void setDiffGenerator(ISVNDiffGenerator diffGenerator)
          Sets the specified diff driver for this object to use for generating and writing file differences to an otput stream.
 void setMergeOptions(SVNDiffOptions diffOptions)
          Sets diff options for this client to use in merge operations.
 
Methods inherited from class org.tmatesoft.svn.core.internal.wc.SVNMergeDriver
addPathWithNewMergeInfo, checkCancelled, doDirectoryMerge, doFileMerge, doMerge, ensureRepository, filterSelfReferentialMergeInfo, getCopySource, getHistoryAsMergeInfo, getLogClient, getLogEligibleMergeInfo, getLogEligibleMergeInfo, getLogEligibleMergeInfo, getLogEligibleMergeInfo, getLogMergedMergeInfo, getLogMergedMergeInfo, getLogMergedMergeInfo, getLogMergedMergeInfo, getLogsForMergeInfoRangeList, getMergedMergeInfo, getMergedMergeInfo, getMergeInfo, getMergeInfo, handleEvent, isSameRepository, runMerge, runMergeReintegrate, runPeggedMerge, suggestMergeSources, suggestMergeSources
 
Methods inherited from class org.tmatesoft.svn.core.wc.SVNBasicClient
createRepository, createRepository, createRepository, createWCAccess, createWCAccess, deriveLocation, dispatchEvent, dispatchEvent, elideMergeInfo, ensureSessionURL, getDebugLog, getEntryLocation, getEventDispatcher, getLevelsToLockFromDepth, getLocations, getOptions, getPathLastChangeRevision, getPathRelativeToRoot, getRepositoryPool, getReposMergeInfo, getReposRoot, getRevisionNumber, getRevisionNumber, getURL, getWCMergeInfo, getWCOrRepositoryMergeInfo, handlePathListItem, isIgnoreExternals, isLeaveConflictsUnresolved, resolveRevisions, setDebugLog, setEventHandler, setEventPathPrefix, setIgnoreExternals, setLeaveConflictsUnresolved, setOptions, setPathListHandler, sleepForTimeStamp
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SVNDiffClient

public SVNDiffClient(ISVNAuthenticationManager authManager,
                     ISVNOptions options)
Constructs and initializes an SVNDiffClient object with the specified run-time configuration and authentication drivers.

If options is null, then this SVNDiffClient will be using a default run-time configuration driver which takes client-side settings from the default SVN's run-time configuration area but is not able to change those settings (read more on ISVNOptions and SVNWCUtil).

If authManager is null, then this SVNDiffClient will be using a default authentication and network layers driver (see SVNWCUtil.createDefaultAuthenticationManager()) which uses server-side settings and auth storage from the default SVN's run-time configuration area (or system properties if that area is not found).

Parameters:
authManager - an authentication and network layers driver
options - a run-time configuration options driver

SVNDiffClient

public SVNDiffClient(ISVNRepositoryPool repositoryPool,
                     ISVNOptions options)
Constructs and initializes an SVNDiffClient object with the specified run-time configuration and repository pool object.

If options is null, then this SVNDiffClient will be using a default run-time configuration driver which takes client-side settings from the default SVN's run-time configuration area but is not able to change those settings (read more on ISVNOptions and SVNWCUtil).

If repositoryPool is null, then SVNRepositoryFactory will be used to create repository access objects.

Parameters:
repositoryPool - a repository pool object
options - a run-time configuration options driver
Method Detail

setDiffGenerator

public void setDiffGenerator(ISVNDiffGenerator diffGenerator)
Sets the specified diff driver for this object to use for generating and writing file differences to an otput stream.

If no specific diff driver was set in this way, a default one will be used (see DefaultSVNDiffGenerator).

Parameters:
diffGenerator - a diff driver
See Also:
getDiffGenerator()

getDiffGenerator

public ISVNDiffGenerator getDiffGenerator()
Returns the diff driver being in use.

If no specific diff driver was previously provided, a default one will be returned (see DefaultSVNDiffGenerator).

Returns:
the diff driver being in use
See Also:
setDiffGenerator(ISVNDiffGenerator)

setMergeOptions

public void setMergeOptions(SVNDiffOptions diffOptions)
Sets diff options for this client to use in merge operations.

Parameters:
diffOptions - diff options object

getMergeOptions

public SVNDiffOptions getMergeOptions()
Gets the diff options that are used in merge operations by this client. If none was provided by the user, one created as new SVNDiffOptions() will be returned and used further.

Returns:
diff options

doDiff

public void doDiff(SVNURL url,
                   SVNRevision pegRevision,
                   SVNRevision rN,
                   SVNRevision rM,
                   boolean recursive,
                   boolean useAncestry,
                   OutputStream result)
            throws SVNException
Deprecated. use doDiff(SVNURL, SVNRevision, SVNRevision, SVNRevision, SVNDepth, boolean, OutputStream) instead

Generates the differences for the specified URL taken from the two specified revisions and writes the result to the provided output stream.

Corresponds to the SVN command line client's 'svn diff -r N:M URL' command.

Parameters:
url - a repository location
pegRevision - a revision in which url is first looked up
rN - an old revision
rM - a new revision
recursive - true to descend recursively
useAncestry - if true then the paths ancestry will be noticed while calculating differences, otherwise not
result - the target OutputStream where the differences will be written to
Throws:
SVNException - if one of the following is true:
  • at least one of rN, rM and pegRevision is invalid
  • at least one of rN and rM is a local revision (see SVNRevision.isLocal())
  • url was not found in rN
  • url was not found in rM

doDiff

public void doDiff(SVNURL url,
                   SVNRevision pegRevision,
                   SVNRevision rN,
                   SVNRevision rM,
                   SVNDepth depth,
                   boolean useAncestry,
                   OutputStream result)
            throws SVNException
Produces diff output which describes the delta between url in peg revision pegRevision, as it changed between rN and rM.

If pegRevision is invalid, behaves identically to doDiff(SVNURL, SVNRevision, SVNURL, SVNRevision, SVNDepth, boolean, OutputStream), using url for both of that function's url1 and url2 arguments.

All other options are handled identically to doDiff(SVNURL, SVNRevision, SVNURL, SVNRevision, SVNDepth, boolean, OutputStream).

Parameters:
url - a repository location
pegRevision - a revision in which url is first looked up
rN - an old revision
rM - a new revision
depth - tree depth to process
useAncestry - if true then the paths ancestry will be noticed while calculating differences, otherwise not
result - the target OutputStream where the differences will be written to
Throws:
SVNException - if one of the following is true:
Since:
1.2, SVN 1.5

doDiff

public void doDiff(File path,
                   SVNRevision pegRevision,
                   SVNRevision rN,
                   SVNRevision rM,
                   boolean recursive,
                   boolean useAncestry,
                   OutputStream result)
            throws SVNException
Deprecated. use doDiff(File, SVNRevision, SVNRevision, SVNRevision, SVNDepth, boolean, OutputStream, Collection) instead

Generates the differences for the specified path taken from the two specified revisions and writes the result to the provided output stream.

If rM is a local revision (see SVNRevision.isLocal()), then the Working Copy path is compared with the corresponding repository file at revision rN (that is similar to the SVN command line client's 'svn diff -r N path' command).

Otherwise if both rN and rM are non-local, then the repository location of path is compared for these revisions ('svn diff -r N:M URL').

Parameters:
path - a Working Copy path
pegRevision - a revision in which the repository location of path is first looked up
rN - an old revision
rM - a new revision (or a local one)
recursive - true to descend recursively
useAncestry - if true then the paths ancestry will be noticed while calculating differences, otherwise not
result - the target OutputStream where the differences will be written to
Throws:
SVNException - if one of the following is true:
  • at least one of rN, rM and pegRevision is invalid
  • both rN and rM are local revisions
  • path was not found in rN
  • path was not found in rM

doDiff

public void doDiff(File[] paths,
                   SVNRevision rN,
                   SVNRevision rM,
                   SVNRevision pegRevision,
                   SVNDepth depth,
                   boolean useAncestry,
                   OutputStream result,
                   Collection changeLists)
            throws SVNException
Iterates over the passed in paths calling doDiff(File, SVNRevision, SVNRevision, SVNRevision, SVNDepth, boolean, OutputStream, Collection) for each one in the array.

Parameters:
paths - array of working copy paths
rN - an old revision
rM - a new revision
pegRevision - a revision in which the repository location of paths is first looked up
depth - tree depth to process
useAncestry - if true then the paths ancestry will be noticed while calculating differences, otherwise not
result - the target OutputStream where the differences will be written to
changeLists - collection with changelist names
Throws:
SVNException
Since:
1.2, SVN 1.5

doDiff

public void doDiff(File path,
                   SVNRevision pegRevision,
                   SVNRevision rN,
                   SVNRevision rM,
                   SVNDepth depth,
                   boolean useAncestry,
                   OutputStream result,
                   Collection changeLists)
            throws SVNException
Produces diff out