Class SVNDiffClient
- java.lang.Object
-
- org.tmatesoft.svn.core.wc.SVNBasicClient
-
- org.tmatesoft.svn.core.wc.SVNDiffClient
-
public class SVNDiffClient extends SVNBasicClient
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' - Since:
- 1.2
- Version:
- 1.3
- Author:
- TMate Software Ltd.
-
-
Constructor Summary
Constructors Constructor Description 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.SVNDiffClient(SvnOperationFactory of)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
doDiff(java.io.File[] paths, SVNRevision rN, SVNRevision rM, SVNRevision pegRevision, SVNDepth depth, boolean useAncestry, java.io.OutputStream result, java.util.Collection<java.lang.String> changeLists)
Iterates over the passed inpaths
callingdoDiff(File, SVNRevision, SVNRevision, SVNRevision, SVNDepth, boolean, OutputStream, Collection)
for each one in the array.void
doDiff(java.io.File path1, SVNRevision rN, java.io.File path2, SVNRevision rM, boolean recursive, boolean useAncestry, java.io.OutputStream result)
Deprecated.void
doDiff(java.io.File path1, SVNRevision rN, java.io.File path2, SVNRevision rM, SVNDepth depth, boolean useAncestry, java.io.OutputStream result, java.util.Collection<java.lang.String> changeLists)
Produces diff output which describes the delta betweenpath1
/rN
andpath2
/rM
.void
doDiff(java.io.File path1, SVNRevision rN, SVNURL url2, SVNRevision rM, boolean recursive, boolean useAncestry, java.io.OutputStream result)
Deprecated.void
doDiff(java.io.File path1, SVNRevision rN, SVNURL url2, SVNRevision rM, SVNDepth depth, boolean useAncestry, java.io.OutputStream result, java.util.Collection<java.lang.String> changeLists)
Produces diff output which describes the delta betweenpath1
/rN
andurl2
/rM
.void
doDiff(java.io.File path, SVNRevision pegRevision, SVNRevision rN, SVNRevision rM, boolean recursive, boolean useAncestry, java.io.OutputStream result)
Deprecated.void
doDiff(java.io.File path, SVNRevision pegRevision, SVNRevision rN, SVNRevision rM, SVNDepth depth, boolean useAncestry, java.io.OutputStream result, java.util.Collection<java.lang.String> changeLists)
Produces diff output which describes the delta betweenpath
in peg revisionpegRevision
, as it changed betweenrN
andrM
.void
doDiff(SVNURL url1, SVNRevision rN, java.io.File path2, SVNRevision rM, boolean recursive, boolean useAncestry, java.io.OutputStream result)
Deprecated.void
doDiff(SVNURL url1, SVNRevision rN, java.io.File path2, SVNRevision rM, SVNDepth depth, boolean useAncestry, java.io.OutputStream result, java.util.Collection<java.lang.String> changeLists)
Produces diff output which describes the delta betweenurl1
/rN
andpath2
/rM
.void
doDiff(SVNURL url1, SVNRevision rN, SVNURL url2, SVNRevision rM, boolean recursive, boolean useAncestry, java.io.OutputStream result)
Deprecated.void
doDiff(SVNURL url1, SVNRevision rN, SVNURL url2, SVNRevision rM, SVNDepth depth, boolean useAncestry, java.io.OutputStream result)
Produces diff output which describes the delta betweenurl1
/rN
andurl2
/rM
.void
doDiff(SVNURL url, SVNRevision pegRevision, SVNRevision rN, SVNRevision rM, boolean recursive, boolean useAncestry, java.io.OutputStream result)
Deprecated.void
doDiff(SVNURL url, SVNRevision pegRevision, SVNRevision rN, SVNRevision rM, SVNDepth depth, boolean useAncestry, java.io.OutputStream result)
Produces diff output which describes the delta betweenurl
in peg revisionpegRevision
, as it changed betweenrN
andrM
.void
doDiffStatus(java.io.File path1, SVNRevision rN, java.io.File path2, SVNRevision rM, boolean recursive, boolean useAncestry, ISVNDiffStatusHandler handler)
Deprecated.void
doDiffStatus(java.io.File path1, SVNRevision rN, java.io.File path2, SVNRevision rM, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler)
Produces a diff summary which lists the changed items betweenpath1
/rN
andpath2
/rM
without creating text deltas.void
doDiffStatus(java.io.File path1, SVNRevision rN, SVNURL url2, SVNRevision rM, boolean recursive, boolean useAncestry, ISVNDiffStatusHandler handler)
Deprecated.void
doDiffStatus(java.io.File path1, SVNRevision rN, SVNURL url2, SVNRevision rM, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler)
Produces a diff summary which lists the changed items betweenpath1
/rN
andurl2
/rM
without creating text deltas.void
doDiffStatus(java.io.File path, SVNRevision rN, SVNRevision rM, SVNRevision pegRevision, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler)
Produces a diff summary which lists the changed items betweenpath
in peg revisionpegRevision
, as it changed betweenrN
andrM
.void
doDiffStatus(SVNURL url1, SVNRevision rN, java.io.File path2, SVNRevision rM, boolean recursive, boolean useAncestry, ISVNDiffStatusHandler handler)
Deprecated.void
doDiffStatus(SVNURL url1, SVNRevision rN, java.io.File path2, SVNRevision rM, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler)
Produces a diff summary which lists the changed items betweenurl1
/rN
andpath2
/rM
without creating text deltas.void
doDiffStatus(SVNURL url1, SVNRevision rN, SVNURL url2, SVNRevision rM, boolean recursive, boolean useAncestry, ISVNDiffStatusHandler handler)
Deprecated.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 betweenurl1
/rN
andurl2
/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 betweenurl
in peg revisionpegRevision
, as it changed betweenrN
andrM
.void
doGetLogEligibleMergeInfo(java.io.File path, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler)
Drives a log entryhandler
with the revisions eligible for merge frommergeSrcPath
(as ofsrcPegRevision
) intopath
(as ofpegRevision
).void
doGetLogEligibleMergeInfo(java.io.File path, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler)
Drives a log entryhandler
with the revisions eligible for merge frommergeSrcURL
(as ofsrcPegRevision
) intopath
(as ofpegRevision
).void
doGetLogEligibleMergeInfo(SVNURL url, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler)
Drives a log entryhandler
with the revisions eligible for merge frommergeSrcPath
(as ofsrcPegRevision
) intourl
(as ofpegRevision
).void
doGetLogEligibleMergeInfo(SVNURL url, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler)
Drives a log entryhandler
with the revisions eligible for merge frommergeSrcURL
(as ofsrcPegRevision
) intourl
(as ofpegRevision
).void
doGetLogMergedMergeInfo(java.io.File path, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler)
Drives a log entryhandler
with the revisions merged frommergeSrcPath
(as ofsrcPegRevision
) intopath
(as ofpegRevision
).void
doGetLogMergedMergeInfo(java.io.File path, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler)
Drives a log entryhandler
with the revisions merged frommergeSrcURL
(as ofsrcPegRevision
) intopath
(as ofpegRevision
).void
doGetLogMergedMergeInfo(SVNURL url, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler)
Drives a log entryhandler
with the revisions merged frommergeSrcPath
(as ofsrcPegRevision
) intourl
(as ofpegRevision
).void
doGetLogMergedMergeInfo(SVNURL url, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler)
Drives a log entryhandler
with the revisions merged frommergeSrcURL
(as ofsrcPegRevision
) intourl
(as ofpegRevision
).java.util.Map<SVNURL,SVNMergeRangeList>
doGetMergedMergeInfo(java.io.File path, SVNRevision pegRevision)
Returns mergeinfo as aMap
with merge source URLs (asSVNURL
) mapped to range lists (SVNMergeRangeList
).java.util.Map<SVNURL,SVNMergeRangeList>
doGetMergedMergeInfo(SVNURL url, SVNRevision pegRevision)
Returns mergeinfo as aMap
with merge source URLs (asSVNURL
) mapped to range lists (SVNMergeRangeList
).void
doMerge(java.io.File path1, SVNRevision revision1, java.io.File path2, SVNRevision revision2, java.io.File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun)
void
doMerge(java.io.File path1, SVNRevision revision1, java.io.File path2, SVNRevision revision2, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly)
Merges changes frompath1
/revision1
topath2
/revision2
into the working-copy pathdstPath
.void
doMerge(java.io.File path1, SVNRevision pegRevision, java.util.Collection<SVNRevisionRange> rangesToMerge, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly)
Merges the changes betweenpath1
in peg revisionpegRevision
, as it changed between the ranges described inrangesToMerge
.void
doMerge(java.io.File path1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, java.io.File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun)
void
doMerge(java.io.File path1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly)
Merges changes frompath1
/revision1
tourl2
/revision2
into the working-copy pathdstPath
.void
doMerge(java.io.File path1, SVNRevision pegRevision, SVNRevision revision1, SVNRevision revision2, java.io.File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun)
Deprecated.void
doMerge(SVNURL url1, SVNRevision revision1, java.io.File path2, SVNRevision revision2, java.io.File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun)
void
doMerge(SVNURL url1, SVNRevision revision1, java.io.File path2, SVNRevision revision2, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly)
Merges changes fromurl1
/revision1
topath2
/revision2
into the working-copy pathdstPath
.void
doMerge(SVNURL url1, SVNRevision pegRevision, java.util.Collection<SVNRevisionRange> rangesToMerge, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly)
Merges the changes betweenurl1
in peg revisionpegRevision
, as it changed between the ranges described inrangesToMerge
.void
doMerge(SVNURL url1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, java.io.File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun)
void
doMerge(SVNURL url1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly)
Merges changes fromurl1
/revision1
tourl2
/revision2
into the working-copy pathdstPath
.void
doMerge(SVNURL url1, SVNRevision pegRevision, SVNRevision revision1, SVNRevision revision2, java.io.File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun)
Deprecated.void
doMergeReIntegrate(java.io.File srcPath, SVNRevision pegRevision, java.io.File dstPath, boolean dryRun)
Performs a reintegration merge ofsrcPath
atpegRevision
intodstPath
.void
doMergeReIntegrate(SVNURL srcURL, SVNRevision pegRevision, java.io.File dstPath, boolean dryRun)
Performs a reintegration merge ofsrcURL
atpegRevision
intodstPath
.void
doPatch(java.io.File absPatchPath, java.io.File localAbsPath, boolean dryRun, int stripCount)
void
doPatch(java.io.File absPatchPath, java.io.File localAbsPath, boolean dryRun, int stripCount, boolean ignoreWhitespace, boolean removeTempFiles, boolean reverse)
java.util.Collection<SVNURL>
doSuggestMergeSources(java.io.File path, SVNRevision pegRevision)
Returns a collection of potential merge sources (expressed as full repositoryURLs
) forpath
atpegRevision
.java.util.Collection<SVNURL>
doSuggestMergeSources(SVNURL url, SVNRevision pegRevision)
Returns a collection of potential merge sources (expressed as full repositoryURLs
) forurl
atpegRevision
.ISVNDiffGenerator
getDiffGenerator()
Returns the diff driver being in use.SVNDiffOptions
getMergeOptions()
Gets the diff options that are used in merge operations by this client.protected void
initDefaults()
boolean
isAllowMixedRevisionsWCForMerge()
boolean
isGitDiffFormat()
boolean
isShowCopiesAsAdds()
void
setAllowMixedRevisionsWCForMerge(boolean allowMixedRevisions)
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
setGitDiffFormat(boolean gitDiffFormat)
void
setMergeOptions(SVNDiffOptions diffOptions)
Sets diff options for this client to use in merge operations.void
setShowCopiesAsAdds(boolean showCopiesAsAdds)
-
Methods inherited from class org.tmatesoft.svn.core.wc.SVNBasicClient
dontWC17Support, getDebugLog, getOperationsFactory, getOptions, getPathListHandler, getReposRoot, getReposRoot, isIgnoreExternals, isLeaveConflictsUnresolved, isWC17Supported, setDebugLog, setEventHandler, setEventPathPrefix, setIgnoreExternals, setLeaveConflictsUnresolved, setOptions, setPathListHandler
-
-
-
-
Constructor Detail
-
SVNDiffClient
public SVNDiffClient(ISVNAuthenticationManager authManager, ISVNOptions options)
Constructs and initializes an SVNDiffClient object with the specified run-time configuration and authentication drivers. Ifoptions
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 onISVNOptions
andSVNWCUtil
). IfauthManager
is null, then this SVNDiffClient will be using a default authentication and network layers driver (seeSVNWCUtil.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 driveroptions
- 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. Ifoptions
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 onISVNOptions
andSVNWCUtil
). IfrepositoryPool
is null, thenSVNRepositoryFactory
will be used to createrepository access objects
.- Parameters:
repositoryPool
- a repository pool objectoptions
- a run-time configuration options driver
-
SVNDiffClient
public SVNDiffClient(SvnOperationFactory of)
-
-
Method Detail
-
initDefaults
protected void initDefaults()
- Overrides:
initDefaults
in classSVNBasicClient
-
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 asnew 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, java.io.OutputStream result) throws SVNException
Deprecated.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 locationpegRevision
- a revision in whichurl
is first looked uprN
- an old revisionrM
- a new revisionrecursive
- true to descend recursivelyuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written to- Throws:
SVNException
- if one of the following is true:- at least one of
rN
,rM
andpegRevision
is invalid - at least one of
rN
andrM
is a local revision (seeSVNRevision.isLocal()
) url
was not found inrN
url
was not found inrM
- at least one of
-
doDiff
public void doDiff(SVNURL url, SVNRevision pegRevision, SVNRevision rN, SVNRevision rM, SVNDepth depth, boolean useAncestry, java.io.OutputStream result) throws SVNException
Produces diff output which describes the delta betweenurl
in peg revisionpegRevision
, as it changed betweenrN
andrM
. IfpegRevision is
invalid
, behaves identically todoDiff(SVNURL, SVNRevision, SVNURL, SVNRevision, SVNDepth, boolean, OutputStream)
, usingurl
for both of that function'surl1
andurl2
arguments. All other options are handled identically todoDiff(SVNURL, SVNRevision, SVNURL, SVNRevision, SVNDepth, boolean, OutputStream)
.- Parameters:
url
- a repository locationpegRevision
- a revision in whichurl
is first looked uprN
- an old revisionrM
- a new revisiondepth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written to- Throws:
SVNException
- if one of the following is true:- exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if either ofrN
andrM
is eitherinvalid
orlocal
- exception with
SVNErrorCode.FS_NOT_FOUND
error code -url
can not be found in eitherrN
orrM
- exception with
- Since:
- 1.2, SVN 1.5
-
doDiff
public void doDiff(java.io.File path, SVNRevision pegRevision, SVNRevision rN, SVNRevision rM, boolean recursive, boolean useAncestry, java.io.OutputStream result) throws SVNException
Deprecated.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 (seeSVNRevision.isLocal()
), then the Working Copypath
is compared with the corresponding repository file at revisionrN
(that is similar to the SVN command line client's'svn diff -r N path'
command).Otherwise if both
rN
andrM
are non-local, then the repository location ofpath
is compared for these revisions ('svn diff -r N:M URL'
).- Parameters:
path
- a Working Copy pathpegRevision
- a revision in which the repository location ofpath
is first looked uprN
- an old revisionrM
- a new revision (or a local one)recursive
- true to descend recursivelyuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written to- Throws:
SVNException
- if one of the following is true:- at least one of
rN
,rM
andpegRevision
is invalid - both
rN
andrM
are local revisions path
was not found inrN
path
was not found inrM
- at least one of
-
doDiff
public void doDiff(java.io.File[] paths, SVNRevision rN, SVNRevision rM, SVNRevision pegRevision, SVNDepth depth, boolean useAncestry, java.io.OutputStream result, java.util.Collection<java.lang.String> changeLists) throws SVNException
Iterates over the passed inpaths
callingdoDiff(File, SVNRevision, SVNRevision, SVNRevision, SVNDepth, boolean, OutputStream, Collection)
for each one in the array.- Parameters:
paths
- array of working copy pathsrN
- an old revisionrM
- a new revisionpegRevision
- a revision in which the repository location ofpaths
is first looked updepth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written tochangeLists
- collection with changelist names- Throws:
SVNException
- Since:
- 1.2, SVN 1.5
-
doDiff
public void doDiff(java.io.File path, SVNRevision pegRevision, SVNRevision rN, SVNRevision rM, SVNDepth depth, boolean useAncestry, java.io.OutputStream result, java.util.Collection<java.lang.String> changeLists) throws SVNException
Produces diff output which describes the delta betweenpath
in peg revisionpegRevision
, as it changed betweenrN
andrM
. IfrM
is neitherSVNRevision.BASE
, norSVNRevision.WORKING
, norSVNRevision.COMMITTED
, and if, on the contrary,rN
is one of the aforementioned revisions, then a wc-against-url diff is performed; ifrN
also is not one of those revision constants, then a url-against-url diff is performed. Otherwise it's a url-against-wc diff. IfpegRevision is
invalid
, behaves identically todoDiff(File, SVNRevision, File, SVNRevision, SVNDepth, boolean, OutputStream, Collection)
, usingpath
for both of that function'spath1
andpath2
arguments. All other options are handled identically todoDiff(File, SVNRevision, File, SVNRevision, SVNDepth, boolean, OutputStream, Collection)
.- Parameters:
path
- a Working Copy pathpegRevision
- a revision in which the repository location ofpath
is first looked uprN
- an old revisionrM
- a new revisiondepth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written tochangeLists
- collection with changelist names- Throws:
SVNException
- if one of the following is true:- exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if either ofrN
andrM
isinvalid
; if bothrN
andrM
are eitherSVNRevision.WORKING
orSVNRevision.BASE
-
exception with
SVNErrorCode.FS_NOT_FOUND
error code -path
can not be found in eitherrN
orrM
- exception with
- Since:
- 1.2, SVN 1.5
-
doDiff
public void doDiff(SVNURL url1, SVNRevision rN, SVNURL url2, SVNRevision rM, boolean recursive, boolean useAncestry, java.io.OutputStream result) throws SVNException
Deprecated.Generates the differences for the specified URLs 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 URL1 URL2'
command.- Parameters:
url1
- the first URL to be comparedrN
- a revision ofurl1
url2
- the second URL to be comparedrM
- a revision ofurl2
recursive
- true to descend recursivelyuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written to- Throws:
SVNException
- if one of the following is true:- at least one of
rN
andrM
is invalid url1
was not found inrN
url2
was not found inrM
- at least one of
-
doDiff
public void doDiff(SVNURL url1, SVNRevision rN, SVNURL url2, SVNRevision rM, SVNDepth depth, boolean useAncestry, java.io.OutputStream result) throws SVNException
Produces diff output which describes the delta betweenurl1
/rN
andurl2
/rM
. Writes the output of the diff toresult
. If this client object usesDefaultSVNDiffGenerator
and there was a non-nullbase path
provided to it, the original path and modified path will have this base path stripped from the front of the respective paths. If the base path is not null but is not a parent path of the target, an exception with theSVNErrorCode.BAD_RELATIVE_PATH
error code is thrown.url1
andurl2
must both represent the same node kind -- that is, ifurl1
is a directory,url2
must also be, and ifurl1
is a file,url2
must also be. Ifdepth
isSVNDepth.INFINITY
, diffs fully recursively. Else if it isSVNDepth.IMMEDIATES
, diffs the named paths and their file children (if any), and diffs properties of subdirectories, but does not descend further into the subdirectories. Else ifSVNDepth.FILES
, behaves as if forSVNDepth.IMMEDIATES
except doesn't diff properties of subdirectories. IfSVNDepth.EMPTY
, diffs exactly the named paths but nothing underneath them.useAncestry
controls whether or not items being diffed will be checked for relatedness first. Unrelated items are typically transmitted to the editor as a deletion of one thing and the addition of another, but if this flag is true, unrelated items will be diffed as if they were related. IfISVNDiffGenerator.isDiffDeleted()
returns true, then no diff output will be generated on deleted files. Generated headers are encoded usingISVNDiffGenerator.getEncoding()
. Diffs output will not be generated for binary files, unlessISVNDiffGenerator.isForcedBinaryDiff()
is true, in which case diffs will be shown regardless of the content types. If this client object usesDefaultSVNDiffGenerator
then a caller can setSVNDiffOptions
to it which will be used to pass additional options to the diff processes invoked to compare files.- Parameters:
url1
- the first URL to be comparedrN
- a revision ofurl1
url2
- the second URL to be compared againstpath1
rM
- a revision ofurl2
depth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written to- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if eitherrN
orrM
isinvalid
- Since:
- 1.2, SVN 1.5
-
doDiff
public void doDiff(java.io.File path1, SVNRevision rN, SVNURL url2, SVNRevision rM, boolean recursive, boolean useAncestry, java.io.OutputStream result) throws SVNException
Deprecated.Generates the differences comparing the specified URL in a certain revision against either the specified Working Copy path or its repository location URL in the specified revision, and writes the result to the provided output stream.If
rN
is not a local revision (seeSVNRevision.isLocal()
), then its repository location URL as it is in the revision represented byrN
is taken for comparison withurl2
.Corresponds to the SVN command line client's
'svn diff -r N:M PATH URL'
command.- Parameters:
path1
- a WC pathrN
- a revision ofpath1
url2
- a repository location URL that is to be compared againstpath1
(or its repository location)rM
- a revision ofurl2
recursive
- true to descend recursivelyuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written to- Throws:
SVNException
- if one of the following is true:- at least one of
rN
andrM
is invalid path1
is not under version controlpath1
has no URLurl2
was not found inrM
- the repository location of
path1
was not found inrN
- at least one of
-
doDiff
public void doDiff(java.io.File path1, SVNRevision rN, SVNURL url2, SVNRevision rM, SVNDepth depth, boolean useAncestry, java.io.OutputStream result, java.util.Collection<java.lang.String> changeLists) throws SVNException
Produces diff output which describes the delta betweenpath1
/rN
andurl2
/rM
. Writes the output of the diff toresult
. If this client object usesDefaultSVNDiffGenerator
and there was a non-nullbase path
provided to it, the original path and modified path will have this base path stripped from the front of the respective paths. If the base path is not null but is not a parent path of the target, an exception with theSVNErrorCode.BAD_RELATIVE_PATH
error code is thrown.path1
andurl2
must both represent the same node kind -- that is, ifpath1
is a directory,url2
must also be, and ifpath1
is a file,url2
must also be. Ifdepth
isSVNDepth.INFINITY
, diffs fully recursively. Else if it isSVNDepth.IMMEDIATES
, diffs the named paths and their file children (if any), and diffs properties of subdirectories, but does not descend further into the subdirectories. Else ifSVNDepth.FILES
, behaves as if forSVNDepth.IMMEDIATES
except doesn't diff properties of subdirectories. IfSVNDepth.EMPTY
, diffs exactly the named paths but nothing underneath them.useAncestry
controls whether or not items being diffed will be checked for relatedness first. Unrelated items are typically transmitted to the editor as a deletion of one thing and the addition of another, but if this flag is true, unrelated items will be diffed as if they were related. IfISVNDiffGenerator.isDiffDeleted()
returns true, then no diff output will be generated on deleted files. Generated headers are encoded usingISVNDiffGenerator.getEncoding()
. Diffs output will not be generated for binary files, unlessISVNDiffGenerator.isForcedBinaryDiff()
is true, in which case diffs will be shown regardless of the content types. If this client object usesDefaultSVNDiffGenerator
then a caller can setSVNDiffOptions
to it which will be used to pass additional options to the diff processes invoked to compare files.changeLists
is a collection ofString
changelist names, used as a restrictive filter on items whose differences are reported; that is, doesn't generate diffs about any item unless it's a member of one of those changelists. IfchangeLists
is empty (or null), no changelist filtering occurs. Note: changelist filtering only applies to diffs in which at least one side of the diff represents working copy data. If bothrN
is eitherSVNRevision.WORKING
orSVNRevision.BASE
, then it will be a wc-against-url; otherwise, a url-against-url diff.- Parameters:
path1
- a WC pathrN
- a revision ofpath1
url2
- a repository location URL that is to be compared againstpath1
(or its repository location)rM
- a revision ofurl2
depth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written tochangeLists
- collection with changelist names- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if eitherrN
orrM
isinvalid
- Since:
- 1.2, SVN 1.5
-
doDiff
public void doDiff(SVNURL url1, SVNRevision rN, java.io.File path2, SVNRevision rM, boolean recursive, boolean useAncestry, java.io.OutputStream result) throws SVNException
Deprecated.Generates the differences comparing either the specified Working Copy path or its repository location URL in the specified revision against the specified URL in a certain revision, and writes the result to the provided output stream.If
rM
is not a local revision (seeSVNRevision.isLocal()
), then its repository location URL as it is in the revision represented byrM
is taken for comparison withurl1
.Corresponds to the SVN command line client's
'svn diff -r N:M URL PATH'
command.- Parameters:
url1
- a repository location URLrN
- a revision ofurl1
path2
- a WC path that is to be compared againsturl1
rM
- a revision ofpath2
recursive
- true to descend recursivelyuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written to- Throws:
SVNException
- if one of the following is true:- at least one of
rN
andrM
is invalid path2
is not under version controlpath2
has no URLurl1
was not found inrN
- the repository location of
path2
was not found inrM
- at least one of
-
doDiff
public void doDiff(SVNURL url1, SVNRevision rN, java.io.File path2, SVNRevision rM, SVNDepth depth, boolean useAncestry, java.io.OutputStream result, java.util.Collection<java.lang.String> changeLists) throws SVNException
Produces diff output which describes the delta betweenurl1
/rN
andpath2
/rM
. Writes the output of the diff toresult
. If this client object usesDefaultSVNDiffGenerator
and there was a non-nullbase path
provided to it, the original path and modified path will have this base path stripped from the front of the respective paths. If the base path is not null but is not a parent path of the target, an exception with theSVNErrorCode.BAD_RELATIVE_PATH
error code is thrown.url1
andpath2
must both represent the same node kind -- that is, ifurl1
is a directory,path2
must also be, and ifurl1
is a file,path2
must also be. Ifdepth
isSVNDepth.INFINITY
, diffs fully recursively. Else if it isSVNDepth.IMMEDIATES
, diffs the named paths and their file children (if any), and diffs properties of subdirectories, but does not descend further into the subdirectories. Else ifSVNDepth.FILES
, behaves as if forSVNDepth.IMMEDIATES
except doesn't diff properties of subdirectories. IfSVNDepth.EMPTY
, diffs exactly the named paths but nothing underneath them.useAncestry
controls whether or not items being diffed will be checked for relatedness first. Unrelated items are typically transmitted to the editor as a deletion of one thing and the addition of another, but if this flag is true, unrelated items will be diffed as if they were related. IfISVNDiffGenerator.isDiffDeleted()
returns true, then no diff output will be generated on deleted files. Generated headers are encoded usingISVNDiffGenerator.getEncoding()
. Diffs output will not be generated for binary files, unlessISVNDiffGenerator.isForcedBinaryDiff()
is true, in which case diffs will be shown regardless of the content types. If this client object usesDefaultSVNDiffGenerator
then a caller can setSVNDiffOptions
to it which will be used to pass additional options to the diff processes invoked to compare files.changeLists
is a collection ofString
changelist names, used as a restrictive filter on items whose differences are reported; that is, doesn't generate diffs about any item unless it's a member of one of those changelists. IfchangeLists
is empty (or null), no changelist filtering occurs. Note: changelist filtering only applies to diffs in which at least one side of the diff represents working copy data. If bothrM
is eitherSVNRevision.WORKING
orSVNRevision.BASE
, then it will be a url-against-wc; otherwise, a url-against-url diff.- Parameters:
url1
- a repository location URLrN
- a revision ofurl1
path2
- a WC path that is to be compared againsturl1
rM
- a revision ofpath2
depth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written tochangeLists
- collection with changelist names- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if eitherrN
orrM
isinvalid
- Since:
- 1.2, SVN 1.5
-
doDiff
public void doDiff(java.io.File path1, SVNRevision rN, java.io.File path2, SVNRevision rM, boolean recursive, boolean useAncestry, java.io.OutputStream result) throws SVNException
Deprecated.Generates the differences comparing either the specified Working Copy paths or their repository location URLs (any combinations are possible) in the specified revisions and writes the result to the provided output stream.If both
rN
andrM
are local revisions (seeSVNRevision.isLocal()
), then a Working Copypath2
is compared against a Working Copypath1
.If
rN
is a local revision butrM
is not, then the repository location URL ofpath2
as it is in the revision represented byrM
is compared against the Working Copypath1
.If
rM
is a local revision butrN
is not, then the Working Copypath2
is compared against the repository location URL ofpath1
as it is in the revision represented byrN
.If both
rN
andrM
are non-local revisions, then the repository location URL ofpath2
in revisionrM
is compared against the repository location URL ofpath1
in revisionrN
.- Parameters:
path1
- a WC pathrN
- a revision ofpath1
path2
- a WC path that is to be compared againstpath1
rM
- a revision ofpath2
recursive
- true to descend recursivelyuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written to- Throws:
SVNException
- if one of the following is true:- at least one of
rN
andrM
is invalid path1
is not under version controlpath1
has no URLpath2
is not under version controlpath2
has no URL- the repository location of
path1
was not found inrN
- the repository location of
path2
was not found inrM
- both
rN
andrM
are local, but eitherpath1
does not equalpath2
, orrN
is notSVNRevision.BASE
, orrM
is notSVNRevision.WORKING
- at least one of
-
doDiff
public void doDiff(java.io.File path1, SVNRevision rN, java.io.File path2, SVNRevision rM, SVNDepth depth, boolean useAncestry, java.io.OutputStream result, java.util.Collection<java.lang.String> changeLists) throws SVNException
Produces diff output which describes the delta betweenpath1
/rN
andpath2
/rM
. Writes the output of the diff toresult
. If this client object usesDefaultSVNDiffGenerator
and there was a non-nullbase path
provided to it, the original path and modified path will have this base path stripped from the front of the respective paths. If the base path is not null but is not a parent path of the target, an exception with theSVNErrorCode.BAD_RELATIVE_PATH
error code is thrown.path1
andpath2
must both represent the same node kind -- that is, ifpath1
is a directory,path2
must also be, and ifpath1
is a file,path2
must also be. Ifdepth
isSVNDepth.INFINITY
, diffs fully recursively. Else if it isSVNDepth.IMMEDIATES
, diffs the named paths and their file children (if any), and diffs properties of subdirectories, but does not descend further into the subdirectories. Else ifSVNDepth.FILES
, behaves as if forSVNDepth.IMMEDIATES
except doesn't diff properties of subdirectories. IfSVNDepth.EMPTY
, diffs exactly the named paths but nothing underneath them.useAncestry
controls whether or not items being diffed will be checked for relatedness first. Unrelated items are typically transmitted to the editor as a deletion of one thing and the addition of another, but if this flag is true, unrelated items will be diffed as if they were related. IfISVNDiffGenerator.isDiffDeleted()
returns true, then no diff output will be generated on deleted files. Generated headers are encoded usingISVNDiffGenerator.getEncoding()
. Diffs output will not be generated for binary files, unlessISVNDiffGenerator.isForcedBinaryDiff()
is true, in which case diffs will be shown regardless of the content types. If this client object usesDefaultSVNDiffGenerator
then a caller can setSVNDiffOptions
to it which will be used to pass additional options to the diff processes invoked to compare files.changeLists
is a collection ofString
changelist names, used as a restrictive filter on items whose differences are reported; that is, doesn't generate diffs about any item unless it's a member of one of those changelists. IfchangeLists
is empty (or null), no changelist filtering occurs. Note: changelist filtering only applies to diffs in which at least one side of the diff represents working copy data. If bothrN
andrM
are eitherSVNRevision.WORKING
orSVNRevision.BASE
, then it will be a wc-against-wc diff operation, in which case no repository access is needed. If onlyrN
orrM
is, then it will be a wc-against-url or url-against-wc diff correspondingly; if neither - a url-against-url diff.- Parameters:
path1
- a WC pathrN
- a revision ofpath1
path2
- a WC path that is to be compared againstpath1
rM
- a revision ofpath2
depth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notresult
- the targetOutputStream
where the differences will be written tochangeLists
- collection with changelist names- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if eitherrN
orrM
isinvalid
- Since:
- 1.2, SVN 1.5
-
doDiffStatus
public void doDiffStatus(java.io.File path1, SVNRevision rN, java.io.File path2, SVNRevision rM, boolean recursive, boolean useAncestry, ISVNDiffStatusHandler handler) throws SVNException
Deprecated.Diffs one path against another one providing short status-like change information to the provided handler. This method functionality is equivalent to the 'svn diff --summarize' command.- Parameters:
path1
- the path of a left-hand item to diffrN
- a revision ofpath1
path2
- the path of a right-hand item to diffrM
- a revision ofpath2
recursive
- controls whether operation must recurse or notuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise nothandler
- a diff status handler- Throws:
SVNException
- Since:
- 1.1, new in Subversion 1.4
-
doDiffStatus
public void doDiffStatus(java.io.File path, SVNRevision rN, SVNRevision rM, SVNRevision pegRevision, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler) throws SVNException
Produces a diff summary which lists the changed items betweenpath
in peg revisionpegRevision
, as it changed betweenrN
andrM
. IfpegRevision
isinvalid
, behaves identically todoDiffStatus(File, SVNRevision, File, SVNRevision, SVNDepth, boolean, ISVNDiffStatusHandler)
, usingpath
for both of that method'spath1
andpath2
argments. The method may report false positives ifuseAncestry
is false, as described in the documentation fordoDiffStatus(File, SVNRevision, File, SVNRevision, SVNDepth, boolean, ISVNDiffStatusHandler)
. Callshandler
for each difference with anSVNDiffStatus
object describing the difference. SeedoDiff(File, SVNRevision, SVNRevision, SVNRevision, SVNDepth, boolean, OutputStream, Collection)
for a description of the other parameters.- Parameters:
path
- working copy pathrN
- left-hand revisionrM
- right-hand revisionpegRevision
- a revision in which the repository location ofpath
is first looked updepth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise nothandler
- a diff status handler- Throws:
SVNException
- Since:
- 1.2, SVN 1.5
-
doDiffStatus
public void doDiffStatus(java.io.File path1, SVNRevision rN, java.io.File path2, SVNRevision rM, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler) throws SVNException
Produces a diff summary which lists the changed items betweenpath1
/rN
andpath2
/rM
without creating text deltas. The function may report false positives ifignoreAncestry
is false, since a file might have been modified between two revisions, but still have the same contents. Callshandler
for each difference with anSVNDiffStatus
object describing the difference. SeedoDiff(File, SVNRevision, File, SVNRevision, SVNDepth, boolean, OutputStream, Collection)
for a description of the other parameters.- Parameters:
path1
- the path of a left-hand item to diffrN
- a revision ofpath1
path2
- the path of a right-hand item to diffrM
- a revision ofpath2
depth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise nothandler
- a diff status handler- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if eitherrN
orrM
isinvalid
exception withSVNErrorCode.UNSUPPORTED_FEATURE
error code - if either ofrM
or rN is eitherSVNRevision.WORKING
orSVNRevision.BASE
- Since:
- 1.2, SVN 1.5
-
doDiffStatus
public void doDiffStatus(java.io.File path1, SVNRevision rN, SVNURL url2, SVNRevision rM, boolean recursive, boolean useAncestry, ISVNDiffStatusHandler handler) throws SVNException
Deprecated.Diffs a path against a url providing short status-like change information to the provided handler. This method functionality is equivalent to the 'svn diff --summarize' command.- Parameters:
path1
- the path of a left-hand item to diffrN
- a revision ofpath1
url2
- the url of a right-hand item to diffrM
- a revision ofurl2
recursive
- controls whether operation must recurse or notuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise nothandler
- a diff status handler- Throws:
SVNException
- Since:
- 1.1, new in Subversion 1.4
-
doDiffStatus
public void doDiffStatus(java.io.File path1, SVNRevision rN, SVNURL url2, SVNRevision rM, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler) throws SVNException
Produces a diff summary which lists the changed items betweenpath1
/rN
andurl2
/rM
without creating text deltas. The function may report false positives ifignoreAncestry
is false, since a file might have been modified between two revisions, but still have the same contents. Callshandler
for each difference with anSVNDiffStatus
object describing the difference. SeedoDiff(File, SVNRevision, SVNURL, SVNRevision, SVNDepth, boolean, OutputStream, Collection)
for a description of the other parameters.- Parameters:
path1
- the path of a left-hand item to diffrN
- a revision ofpath1
url2
- repository url as a right-hand itemrM
- a revision ofurl2
depth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise nothandler
- a diff status handler- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if eitherrN
orrM
isinvalid
exception withSVNErrorCode.UNSUPPORTED_FEATURE
error code - if either ofrM
or rN is eitherSVNRevision.WORKING
orSVNRevision.BASE
- Since:
- 1.2, SVN 1.5
-
doDiffStatus
public void doDiffStatus(SVNURL url1, SVNRevision rN, java.io.File path2, SVNRevision rM, boolean recursive, boolean useAncestry, ISVNDiffStatusHandler handler) throws SVNException
Deprecated.Diffs a url against a path providing short status-like change information to the provided handler. This method functionality is equivalent to the 'svn diff --summarize' command.- Parameters:
url1
- the url of a left-hand item to diffrN
- a revision ofurl1
path2
- the path of a right-hand item to diffrM
- a revision ofpath2
recursive
- controls whether operation must recurse or notuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise nothandler
- a diff status handler- Throws:
SVNException
- Since:
- 1.1, new in Subversion 1.4
-
doDiffStatus
public void doDiffStatus(SVNURL url1, SVNRevision rN, java.io.File path2, SVNRevision rM, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler) throws SVNException
Produces a diff summary which lists the changed items betweenurl1
/rN
andpath2
/rM
without creating text deltas. The function may report false positives ifignoreAncestry
is false, since a file might have been modified between two revisions, but still have the same contents. Callshandler
for each difference with anSVNDiffStatus
object describing the difference. SeedoDiff(SVNURL, SVNRevision, File, SVNRevision, SVNDepth, boolean, OutputStream, Collection)
for a description of the other parameters.- Parameters:
url1
- repository url as a left-hand itemrN
- a revision ofurl1
path2
- the path of a right-hand item to diffrM
- a revision ofpath2
depth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise nothandler
- a diff status handler- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if eitherrN
orrM
isinvalid
exception withSVNErrorCode.UNSUPPORTED_FEATURE
error code - if either ofrM
or rN is eitherSVNRevision.WORKING
orSVNRevision.BASE
- Since:
- 1.2, SVN 1.5
-
doDiffStatus
public void doDiffStatus(SVNURL url1, SVNRevision rN, SVNURL url2, SVNRevision rM, boolean recursive, boolean useAncestry, ISVNDiffStatusHandler handler) throws SVNException
Deprecated.Diffs one url against another one providing short status-like change information to the provided handler. This method functionality is equivalent to the 'svn diff --summarize' command.- Parameters:
url1
- the url of a left-hand item to diffrN
- a revision ofurl1
url2
- the url of a right-hand item to diffrM
- a revision ofurl2
recursive
- controls whether operation must recurse or notuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise nothandler
- a diff status handler- Throws:
SVNException
- Since:
- 1.1, new in Subversion 1.4
-
doDiffStatus
public void doDiffStatus(SVNURL url, SVNRevision rN, SVNRevision rM, SVNRevision pegRevision, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler) throws SVNException
Produces a diff summary which lists the changed items betweenurl
in peg revisionpegRevision
, as it changed betweenrN
andrM
. IfpegRevision
isinvalid
, behaves identically todoDiffStatus(SVNURL, SVNRevision, SVNURL, SVNRevision, SVNDepth, boolean, ISVNDiffStatusHandler)
, usingurl
for both of that method'surl1
andurl2
argments. The method may report false positives ifuseAncestry
is false, as described in the documentation fordoDiffStatus(SVNURL, SVNRevision, SVNURL, SVNRevision, SVNDepth, boolean, ISVNDiffStatusHandler)
. Callshandler
for each difference with anSVNDiffStatus
object describing the difference. SeedoDiff(SVNURL, SVNRevision, SVNRevision, SVNRevision, SVNDepth, boolean, OutputStream)
for a description of the other parameters.- Parameters:
url
- repository urlrN
- left-hand revisionrM
- right-hand revisionpegRevision
- a revision in which the repository location ofpath
is first looked updepth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise nothandler
- a diff status handler- Throws:
SVNException
- Since:
- 1.2, SVN 1.5
-
doDiffStatus
public void doDiffStatus(SVNURL url1, SVNRevision rN, SVNURL url2, SVNRevision rM, SVNDepth depth, boolean useAncestry, ISVNDiffStatusHandler handler) throws SVNException
Produces a diff summary which lists the changed items betweenurl1
/rN
andurl2
/rM
without creating text deltas. The function may report false positives ifignoreAncestry
is false, since a file might have been modified between two revisions, but still have the same contents. Callshandler
for each difference with anSVNDiffStatus
object describing the difference. SeedoDiff(SVNURL, SVNRevision, SVNURL, SVNRevision, SVNDepth, boolean, OutputStream)
for a description of the other parameters.- Parameters:
url1
- the url of a left-hand item to diffrN
- a revision ofurl1
url2
- the url of a right-hand item to diffrM
- a revision ofurl2
depth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise nothandler
- a diff status handler- Throws:
SVNException
- Since:
- 1.2, SVN 1.5
-
doMerge
public void doMerge(java.io.File path1, SVNRevision revision1, java.io.File path2, SVNRevision revision2, java.io.File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun) throws SVNException
Deprecated.Applies the differences between two sources (using Working Copy paths to get corresponding URLs of the sources) to a Working Copy path.Corresponds to the SVN command line client's
'svn merge sourceWCPATH1@rev1 sourceWCPATH2@rev2 WCPATH'
command.If you need only to try merging your file(s) without actual merging, you should set
dryRun
to true. Your event handler will be dispatched status type information on the target path(s). If a path can be successfully merged, the status type will beSVNStatusType.MERGED
for that path.- Parameters:
path1
- the first source pathrevision1
- a revision ofpath1
path2
- the second source path which URL is to be compared against the URL ofpath1
revision2
- a revision ofpath2
dstPath
- the target path to which the result should be appliedrecursive
- true to descend recursivelyuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notforce
- true to force the operation to rundryRun
- if true then only tries the operation to run (to find out if a file can be merged successfully)- Throws:
SVNException
- if one of the following is true:- at least one of
revision1
andrevision2
is invalid path1
has no URLpath2
has no URL- the repository location
of
path1
was not found inrevision1
- the repository location of
path2
was not found inrevision2
dstPath
is not under version control
- at least one of
-
doMerge
public void doMerge(java.io.File path1, SVNRevision revision1, java.io.File path2, SVNRevision revision2, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly) throws SVNException
Merges changes frompath1
/revision1
topath2
/revision2
into the working-copy pathdstPath
.path1
andpath2
must both represent the same node kind - that is, ifpath1
is a directory,path2
must also be, and ifpath1
is a file,path2
must also be. Ifdepth
isSVNDepth.INFINITY
, merges fully recursively. Else ifSVNDepth.IMMEDIATES
, merges changes at most to files that are immediate children ofdstPath
and to directory properties ofdstPath
and its immediate subdirectory children. Else ifSVNDepth.FILES
, merges at most to immediate file children ofdstPath
and todstPath
itself. Else ifSVNDepth.EMPTY
, applies changes only todstPath
(i.e., directory property changes only). Ifdepth
isSVNDepth.UNKNOWN
, uses the depth ofdstPath
. UsesuseAncestry
to control whether or not items being diffed will be checked for relatedness first. Unrelated items are typically transmitted to the editor as a deletion of one thing and the addition of another, but if this flag is true, unrelated items will be diffed as if they were related. Ifforce
is not set and the merge involves deleting locally modified or unversioned items the operation will fail. Ifforce
is set such items will be deleted.merge options
is used to pass arguments to the merge processes (internal or external). If the caller'sISVNEventHandler
is not null, then it will be called once for each merged target.If
IfrecordOnly
is true, the merge isn't actually performed, but the mergeinfo for the revisions which would've been merged is recorded in the working copy (and must be subsequently committed back to the repository).dryRun
is true, the merge is carried out, and full notification feedback is provided, but the working copy is not modified. Note: this method requires repository access.- Parameters:
path1
- left-hand working copy pathrevision1
- revision ofpath1
path2
- right-hand working copy pathrevision2
- revision ofpath2
dstPath
- target working copy pathdepth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notforce
- true to force the operation to rundryRun
- if true then runs merge without any file changesrecordOnly
- if true, records only the rusult of merge - mergeinfo data- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if eitherrevision1
orrevision2
isinvalid
exception withSVNErrorCode.ENTRY_MISSING_URL
error code - if failed to retrieve url of eitherpath1
orpath2
- Since:
- 1.2, SVN 1.5
-
doMerge
public void doMerge(java.io.File path1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, java.io.File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun) throws SVNException
Deprecated.Applies the differences between two sources (a source URL against the repository location URL of a source Working Copy path) to a Working Copy path.If you need only to try merging your file(s) without actual merging, you should set
dryRun
to true. Your event handler will be dispatched status type information on the target path(s). If a path can be successfully merged, the status type will beSVNStatusType.MERGED
for that path.- Parameters:
path1
- the first source - a WC pathrevision1
- a revision ofpath1
url2
- the second source - a URL that is to be compared against the URL ofpath1
revision2
- a revision ofurl2
dstPath
- the target path to which the result should be appliedrecursive
- true to descend recursivelyuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notforce
- true to force the operation to rundryRun
- if true then only tries the operation to run (to find out if a file can be merged successfully)- Throws:
SVNException
- if one of the following is true:- at least one of
revision1
andrevision2
is invalid path1
has no URL- the repository location of
path1
was not found inrevision1
url2
was not found inrevision2
dstPath
is not under version control
- at least one of
-
doMerge
public void doMerge(java.io.File path1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly) throws SVNException
Merges changes frompath1
/revision1
tourl2
/revision2
into the working-copy pathdstPath
.path1
andurl2
must both represent the same node kind - that is, ifpath1
is a directory,url2
must also be, and ifpath1
is a file,url2
must also be. Ifdepth
isSVNDepth.INFINITY
, merges fully recursively. Else ifSVNDepth.IMMEDIATES
, merges changes at most to files that are immediate children ofdstPath
and to directory properties ofdstPath
and its immediate subdirectory children. Else ifSVNDepth.FILES
, merges at most to immediate file children ofdstPath
and todstPath
itself. Else ifSVNDepth.EMPTY
, applies changes only todstPath
(i.e., directory property changes only). Ifdepth
isSVNDepth.UNKNOWN
, uses the depth ofdstPath
. UsesuseAncestry
to control whether or not items being diffed will be checked for relatedness first. Unrelated items are typically transmitted to the editor as a deletion of one thing and the addition of another, but if this flag is true, unrelated items will be diffed as if they were related. Ifforce
is not set and the merge involves deleting locally modified or unversioned items the operation will fail. Ifforce
is set such items will be deleted.merge options
is used to pass arguments to the merge processes (internal or external). If the caller'sISVNEventHandler
is not null, then it will be called once for each merged target.If
IfrecordOnly
is true, the merge isn't actually performed, but the mergeinfo for the revisions which would've been merged is recorded in the working copy (and must be subsequently committed back to the repository).dryRun
is true, the merge is carried out, and full notification feedback is provided, but the working copy is not modified. Note: this method requires repository access.- Parameters:
path1
- left-hand item - working copy pathrevision1
- revision ofpath1
url2
- right-hand item - repository urlrevision2
- revision ofurl2
dstPath
- target working copy pathdepth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notforce
- true to force the operation to rundryRun
- if true then runs merge without any file changesrecordOnly
- if true, records only the rusult of merge - mergeinfo data- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if eitherrevision1
orrevision2
isinvalid
exception withSVNErrorCode.ENTRY_MISSING_URL
error code - if failed to retrieve the repository url ofpath1
- Since:
- 1.2, SVN 1.5
-
doMerge
public void doMerge(SVNURL url1, SVNRevision revision1, java.io.File path2, SVNRevision revision2, java.io.File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun) throws SVNException
Deprecated.Applies the differences between two sources (the repository location URL of a source Working Copy against a source URL) to a Working Copy path.If you need only to try merging your file(s) without actual merging, you should set
dryRun
to true. Your event handler will be dispatched status type information on the target path(s). If a path can be successfully merged, the status type will beSVNStatusType.MERGED
for that path.- Parameters:
url1
- the first source - a URLrevision1
- a revision ofurl1
path2
- the second source - a WC path that is to be compared againsturl1
revision2
- a revision ofpath2
dstPath
- the target path to which the result should be appliedrecursive
- true to descend recursivelyuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notforce
- true to force the operation to rundryRun
- if true then only tries the operation to run (to find out if a file can be merged successfully)- Throws:
SVNException
- if one of the following is true:- at least one of
revision1
andrevision2
is invalid path2
has no URLurl1
was not found inrevision1
- the repository location of
path2
was not found inrevision2
dstPath
is not under version control
- at least one of
-
doMerge
public void doMerge(SVNURL url1, SVNRevision revision1, java.io.File path2, SVNRevision revision2, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly) throws SVNException
Merges changes fromurl1
/revision1
topath2
/revision2
into the working-copy pathdstPath
.url1
andpath2
must both represent the same node kind - that is, ifurl1
is a directory,path2
must also be, and ifurl1
is a file,path2
must also be. Ifdepth
isSVNDepth.INFINITY
, merges fully recursively. Else ifSVNDepth.IMMEDIATES
, merges changes at most to files that are immediate children ofdstPath
and to directory properties ofdstPath
and its immediate subdirectory children. Else ifSVNDepth.FILES
, merges at most to immediate file children ofdstPath
and todstPath
itself. Else ifSVNDepth.EMPTY
, applies changes only todstPath
(i.e., directory property changes only). Ifdepth
isSVNDepth.UNKNOWN
, uses the depth ofdstPath
. UsesuseAncestry
to control whether or not items being diffed will be checked for relatedness first. Unrelated items are typically transmitted to the editor as a deletion of one thing and the addition of another, but if this flag is true, unrelated items will be diffed as if they were related. Ifforce
is not set and the merge involves deleting locally modified or unversioned items the operation will fail. Ifforce
is set such items will be deleted.merge options
is used to pass arguments to the merge processes (internal or external). If the caller'sISVNEventHandler
is not null, then it will be called once for each merged target.If
IfrecordOnly
is true, the merge isn't actually performed, but the mergeinfo for the revisions which would've been merged is recorded in the working copy (and must be subsequently committed back to the repository).dryRun
is true, the merge is carried out, and full notification feedback is provided, but the working copy is not modified. Note: this method requires repository access.- Parameters:
url1
- left-hand item - repository urlrevision1
- revision ofurl1
path2
- right-hand item - working copy pathrevision2
- revision ofpath2
dstPath
- target working copy pathdepth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notforce
- true to force the operation to rundryRun
- if true then runs merge without any file changesrecordOnly
- if true, records only the rusult of merge - mergeinfo data- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if eitherrevision1
orrevision2
isinvalid
exception withSVNErrorCode.ENTRY_MISSING_URL
error code - if failed to retrieve the repository url ofpath2
- Since:
- 1.2, SVN 1.5
-
doMerge
public void doMerge(SVNURL url1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, java.io.File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun) throws SVNException
Deprecated.Applies the differences between two sources (one source URL against another source URL) to a Working Copy path.Corresponds to the SVN command line client's
'svn merge sourceURL1@rev1 sourceURL2@rev2 WCPATH'
command.If you need only to try merging your file(s) without actual merging, you should set
dryRun
to true. Your event handler will be dispatched status type information on the target path(s). If a path can be successfully merged, the status type will beSVNStatusType.MERGED
for that path.- Parameters:
url1
- the first source URLrevision1
- a revision ofurl1
url2
- the second source URL that is to be compared againsturl1
revision2
- a revision ofurl2
dstPath
- the target path to which the result should be appliedrecursive
- true to descend recursivelyuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notforce
- true to force the operation to rundryRun
- if true then only tries the operation to run (to find out if a file can be merged successfully)- Throws:
SVNException
- if one of the following is true:- at least one of
revision1
andrevision2
is invalid url1
was not found inrevision1
url2
was not found inrevision2
dstPath
is not under version control
- at least one of
-
doMerge
public void doMerge(SVNURL url1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly) throws SVNException
Merges changes fromurl1
/revision1
tourl2
/revision2
into the working-copy pathdstPath
.url1
andurl2
must both represent the same node kind - that is, ifurl1
is a directory,url2
must also be, and ifurl1
is a file,url2
must also be. Ifdepth
isSVNDepth.INFINITY
, merges fully recursively. Else ifSVNDepth.IMMEDIATES
, merges changes at most to files that are immediate children ofdstPath
and to directory properties ofdstPath
and its immediate subdirectory children. Else ifSVNDepth.FILES
, merges at most to immediate file children ofdstPath
and todstPath
itself. Else ifSVNDepth.EMPTY
, applies changes only todstPath
(i.e., directory property changes only). Ifdepth
isSVNDepth.UNKNOWN
, uses the depth ofdstPath
. UsesuseAncestry
to control whether or not items being diffed will be checked for relatedness first. Unrelated items are typically transmitted to the editor as a deletion of one thing and the addition of another, but if this flag is true, unrelated items will be diffed as if they were related. Ifforce
is not set and the merge involves deleting locally modified or unversioned items the operation will fail. Ifforce
is set such items will be deleted.merge options
is used to pass arguments to the merge processes (internal or external). If the caller'sISVNEventHandler
is not null, then it will be called once for each merged target. IfrecordOnly
is true, the merge isn't actually performed, but the mergeinfo for the revisions which would've been merged is recorded in the working copy (and must be subsequently committed back to the repository). IfdryRun
is true, the merge is carried out, and full notification feedback is provided, but the working copy is not modified. Note: this method requires repository access.- Parameters:
url1
- left-hand repository urlrevision1
- revision ofurl1
url2
- right-hand repository urlrevision2
- revision ofurl2
dstPath
- target working copy pathdepth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notforce
- true to force the operation to rundryRun
- if true then runs merge without any file changesrecordOnly
- if true, records only the rusult of merge - mergeinfo data- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
error code - if eitherrevision1
orrevision2
isinvalid
- Since:
- 1.2, SVN 1.5
-
doMerge
public void doMerge(SVNURL url1, SVNRevision pegRevision, SVNRevision revision1, SVNRevision revision2, java.io.File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun) throws SVNException
Deprecated.Applies the differences between two sources (a source URL in a particular revision against the same source URL in another particular revision) to a Working Copy path.Corresponds to the SVN command line client's
'svn merge -r rev1:rev2 URL@pegRev WCPATH'
command.If you need only to try merging your file(s) without actual merging, you should set
dryRun
to true. Your event handler will be dispatched status type information on the target path(s). If a path can be successfully merged, the status type will beSVNStatusType.MERGED
for that path.- Parameters:
url1
- a source URLpegRevision
- a revision in which code>url1 is first looked uprevision1
- a left-hand revision ofurl1
revision2
- a right-hand revision ofurl1
dstPath
- the target path to which the result should be appliedrecursive
- true to descend recursivelyuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notforce
- true to force the operation to rundryRun
- if true then only tries the operation to run (to find out if a file can be merged successfully)- Throws:
SVNException
- if one of the following is true:- at least one of
revision1
,revision2
andpegRevision
is invalid url1
was not found inrevision1
-
url1
was not found inrevision2
dstPath
is not under version control
- at least one of
-
doMerge
public void doMerge(SVNURL url1, SVNRevision pegRevision, java.util.Collection<SVNRevisionRange> rangesToMerge, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly) throws SVNException
Merges the changes betweenurl1
in peg revisionpegRevision
, as it changed between the ranges described inrangesToMerge
.rangesToMerge
is a collection ofSVNRevisionRange
ranges. These ranges may describe additive and/or subtractive merge ranges, they may overlap fully or partially, and/or they may partially or fully negate each other. This rangelist is not required to be sorted. All other options are handled identically todoMerge(SVNURL, SVNRevision, SVNURL, SVNRevision, File, SVNDepth, boolean, boolean, boolean, boolean)
. Note: this method requires repository access.- Parameters:
url1
- a source URLpegRevision
- a revision in whichurl1
is first looked uprangesToMerge
- collection of revision ranges to mergedstPath
- target working copy pathdepth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notforce
- true to force the operation to rundryRun
- if true then only tries the operation to run (to find out if a file can be merged successfully)recordOnly
-- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
- If any revision in the list of provided ranges isinvalid
- Since:
- 1.2, SVN 1.5
-
doMerge
public void doMerge(java.io.File path1, SVNRevision pegRevision, SVNRevision revision1, SVNRevision revision2, java.io.File dstPath, boolean recursive, boolean useAncestry, boolean force, boolean dryRun) throws SVNException
Deprecated.Applies the differences between two sources (the repository location of a source Working Copy path in a particular revision against the repository location of the same path in another particular revision) to a Working Copy path.Corresponds to the SVN command line client's
'svn merge -r rev1:rev2 sourceWCPATH@pegRev WCPATH'
command.If you need only to try merging your file(s) without actual merging, you should set
dryRun
to true. Your event handler will be dispatched status type information on the target path(s). If a path can be successfully merged, the status type will beSVNStatusType.MERGED
for that path.- Parameters:
path1
- a source WC pathpegRevision
- a revision in which the repository location ofpath1
is first looked uprevision1
- a left-hand revision ofpath1
revision2
- a right-hand revision ofpath1
dstPath
- the target path to which the result should be appliedrecursive
- true to descend recursivelyuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notforce
- true to force the operation to rundryRun
- if true then only tries the operation to run (to find out if a file can be merged successfully)- Throws:
SVNException
- if one of the following is true:- at least one of
revision1
,revision2
andpegRevision
is invalid path1
has no URL- the repository location of
path1
was not found inrevision1
- the
repository location of
path1
was not found inrevision2
dstPath
is not under version control
- at least one of
-
doMerge
public void doMerge(java.io.File path1, SVNRevision pegRevision, java.util.Collection<SVNRevisionRange> rangesToMerge, java.io.File dstPath, SVNDepth depth, boolean useAncestry, boolean force, boolean dryRun, boolean recordOnly) throws SVNException
Merges the changes betweenpath1
in peg revisionpegRevision
, as it changed between the ranges described inrangesToMerge
.rangesToMerge
is a collection ofSVNRevisionRange
ranges. These ranges may describe additive and/or subtractive merge ranges, they may overlap fully or partially, and/or they may partially or fully negate each other. This rangelist is not required to be sorted. All other options are handled identically todoMerge(File, SVNRevision, File, SVNRevision, File, SVNDepth, boolean, boolean, boolean, boolean)
. Note: this method requires repository access.- Parameters:
path1
- working copy pathpegRevision
- a revision in whichpath1
is first looked uprangesToMerge
- collection of revision ranges to mergedstPath
- target working copy pathdepth
- tree depth to processuseAncestry
- if true then the paths ancestry will be noticed while calculating differences, otherwise notforce
- true to force the operation to rundryRun
- if true then only tries the operation to run (to find out if a file can be merged successfully)recordOnly
-- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.CLIENT_BAD_REVISION
- If any revision in the list of provided ranges isinvalid
- Since:
- 1.2, SVN 1.5
-
isAllowMixedRevisionsWCForMerge
public boolean isAllowMixedRevisionsWCForMerge()
-
doMergeReIntegrate
public void doMergeReIntegrate(java.io.File srcPath, SVNRevision pegRevision, java.io.File dstPath, boolean dryRun) throws SVNException
Performs a reintegration merge ofsrcPath
atpegRevision
intodstPath
.dstPath
must be a single-revision,SVNDepth.INFINITY
, pristine, unswitched working copy -- in other words, it must reflect a single revision tree, the "target". The mergeinfo onsrcPath
must reflect that all of the target has been merged into it. This kind of merge should be used for back merging (for example, merging branches back to trunk, in which case merge is carried out by comparing the latest trunk tree with the latest branch tree; i.e. the resulting difference is excatly the branch changes which will go back to trunk). All other options are handled identically todoMerge(File, SVNRevision, File, SVNRevision, File, SVNDepth, boolean, boolean, boolean, boolean)
. The depth of the merge is alwaysSVNDepth.INFINITY
. IfpegRevision
is null orinvalid
, then it defaults toSVNRevision.WORKING
. Note: this method requires repository access.- Parameters:
srcPath
- working copy pathpegRevision
- a revision in whichsrcPath
is first looked updstPath
- target working copy pathdryRun
- if true then only tries the operation to run (to find out if a file can be merged successfully)- Throws:
SVNException
- Since:
- 1.2, SVN 1.5
-
doMergeReIntegrate
public void doMergeReIntegrate(SVNURL srcURL, SVNRevision pegRevision, java.io.File dstPath, boolean dryRun) throws SVNException
Performs a reintegration merge ofsrcURL
atpegRevision
intodstPath
.dstPath
must be a single-revision,SVNDepth.INFINITY
, pristine, unswitched working copy -- in other words, it must reflect a single revision tree, the "target". The mergeinfo onsrcPath
must reflect that all of the target has been merged into it. This kind of merge should be used for back merging (for example, merging branches back to trunk, in which case merge is carried out by comparing the latest trunk tree with the latest branch tree; i.e. the resulting difference is excatly the branch changes which will go back to trunk). All other options are handled identically todoMerge(SVNURL, SVNRevision, SVNURL, SVNRevision, File, SVNDepth, boolean, boolean, boolean, boolean)
. The depth of the merge is alwaysSVNDepth.INFINITY
. IfpegRevision
is null orinvalid
, then it defaults toSVNRevision.HEAD
. Note: this method requires repository access.- Parameters:
srcURL
- repository urlpegRevision
- a revision in whichsrcURL
is first looked updstPath
- target working copy pathdryRun
- if true then only tries the operation to run (to find out if a file can be merged successfully)- Throws:
SVNException
- Since:
- 1.2, SVN 1.5
-
doGetLogMergedMergeInfo
public void doGetLogMergedMergeInfo(java.io.File path, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException
Drives a log entryhandler
with the revisions merged frommergeSrcURL
(as ofsrcPegRevision
) intopath
(as ofpegRevision
).discoverChangedPaths
andrevisionProperties
are the same as forSVNLogClient.doLog(File[], SVNRevision, SVNRevision, SVNRevision, boolean, boolean, boolean, long, String[], ISVNLogEntryHandler)
. Note: this routine requires repository access.- Parameters:
path
- working copy path (merge target)pegRevision
- a revision in whichpath
is first looked upmergeSrcURL
- merge source repository urlsrcPegRevision
- a revision in whichmergeSrcURL
is first looked updiscoverChangedPaths
- true to report of all changed paths for every revision being processed (those paths will be available by callingSVNLogEntry.getChangedPaths()
)revisionProperties
- names of revision properties to retrievehandler
- the caller's log entry handler- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.UNSUPPORTED_FEATURE
error code - if the server doesn't support retrieval of mergeinfo- Since:
- 1.2, SVN 1.5
-
doGetLogMergedMergeInfo
public void doGetLogMergedMergeInfo(SVNURL url, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException
Drives a log entryhandler
with the revisions merged frommergeSrcURL
(as ofsrcPegRevision
) intourl
(as ofpegRevision
).discoverChangedPaths
andrevisionProperties
are the same as forSVNLogClient.doLog(File[], SVNRevision, SVNRevision, SVNRevision, boolean, boolean, boolean, long, String[], ISVNLogEntryHandler)
. Note: this routine requires repository access.- Parameters:
url
- repository url (merge target)pegRevision
- a revision in whichurl
is first looked upmergeSrcURL
- merge source repository urlsrcPegRevision
- a revision in whichmergeSrcURL
is first looked updiscoverChangedPaths
- true to report of all changed paths for every revision being processed (those paths will be available by callingSVNLogEntry.getChangedPaths()
)revisionProperties
- names of revision properties to retrievehandler
- the caller's log entry handler- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.UNSUPPORTED_FEATURE
error code - if the server doesn't support retrieval of mergeinfo- Since:
- 1.2, SVN 1.5
-
doGetLogMergedMergeInfo
public void doGetLogMergedMergeInfo(java.io.File path, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException
Drives a log entryhandler
with the revisions merged frommergeSrcPath
(as ofsrcPegRevision
) intopath
(as ofpegRevision
).discoverChangedPaths
andrevisionProperties
are the same as forSVNLogClient.doLog(File[], SVNRevision, SVNRevision, SVNRevision, boolean, boolean, boolean, long, String[], ISVNLogEntryHandler)
. Note: this routine requires repository access.- Parameters:
path
- working copy path (merge target)pegRevision
- a revision in whichpath
is first looked upmergeSrcPath
- merge source working copy pathsrcPegRevision
- a revision in whichmergeSrcPath
is first looked updiscoverChangedPaths
- true to report of all changed paths for every revision being processed (those paths will be available by callingSVNLogEntry.getChangedPaths()
)revisionProperties
- names of revision properties to retrievehandler
- the caller's log entry handler- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.UNSUPPORTED_FEATURE
error code - if the server doesn't support retrieval of mergeinfo- Since:
- 1.2, SVN 1.5
-
doGetLogMergedMergeInfo
public void doGetLogMergedMergeInfo(SVNURL url, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException
Drives a log entryhandler
with the revisions merged frommergeSrcPath
(as ofsrcPegRevision
) intourl
(as ofpegRevision
).discoverChangedPaths
andrevisionProperties
are the same as forSVNLogClient.doLog(File[], SVNRevision, SVNRevision, SVNRevision, boolean, boolean, boolean, long, String[], ISVNLogEntryHandler)
. Note: this routine requires repository access.- Parameters:
url
- repository url (merge target)pegRevision
- a revision in whichurl
is first looked upmergeSrcPath
- merge source working copy pathsrcPegRevision
- a revision in whichmergeSrcPath
is first looked updiscoverChangedPaths
- true to report of all changed paths for every revision being processed (those paths will be available by callingSVNLogEntry.getChangedPaths()
)revisionProperties
- names of revision properties to retrievehandler
- the caller's log entry handler- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.UNSUPPORTED_FEATURE
error code - if the server doesn't support retrieval of mergeinfo- Since:
- 1.2, SVN 1.5
-
doGetLogEligibleMergeInfo
public void doGetLogEligibleMergeInfo(java.io.File path, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException
Drives a log entryhandler
with the revisions eligible for merge frommergeSrcURL
(as ofsrcPegRevision
) intopath
(as ofpegRevision
).discoverChangedPaths
andrevisionProperties
are the same as forSVNLogClient.doLog(File[], SVNRevision, SVNRevision, SVNRevision, boolean, boolean, boolean, long, String[], ISVNLogEntryHandler)
. Note: this routine requires repository access.- Parameters:
path
- working copy path (merge target)pegRevision
- a revision in whichpath
is first looked upmergeSrcURL
- merge source repository urlsrcPegRevision
- a revision in whichmergeSrcURL
is first looked updiscoverChangedPaths
- true to report of all changed paths for every revision being processed (those paths will be available by callingSVNLogEntry.getChangedPaths()
)revisionProperties
- names of revision properties to retrievehandler
- the caller's log entry handler- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.UNSUPPORTED_FEATURE
error code - if the server doesn't support retrieval of mergeinfo- Since:
- 1.2, SVN 1.5
-
doGetLogEligibleMergeInfo
public void doGetLogEligibleMergeInfo(SVNURL url, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException
Drives a log entryhandler
with the revisions eligible for merge frommergeSrcURL
(as ofsrcPegRevision
) intourl
(as ofpegRevision
).discoverChangedPaths
andrevisionProperties
are the same as forSVNLogClient.doLog(File[], SVNRevision, SVNRevision, SVNRevision, boolean, boolean, boolean, long, String[], ISVNLogEntryHandler)
. Note: this routine requires repository access.- Parameters:
url
- repository url (merge target)pegRevision
- a revision in whichurl
is first looked upmergeSrcURL
- merge source repository urlsrcPegRevision
- a revision in whichmergeSrcURL
is first looked updiscoverChangedPaths
- true to report of all changed paths for every revision being processed (those paths will be available by callingSVNLogEntry.getChangedPaths()
)revisionProperties
- names of revision properties to retrievehandler
- the caller's log entry handler- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.UNSUPPORTED_FEATURE
error code - if the server doesn't support retrieval of mergeinfo- Since:
- 1.2, SVN 1.5
-
doGetLogEligibleMergeInfo
public void doGetLogEligibleMergeInfo(java.io.File path, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException
Drives a log entryhandler
with the revisions eligible for merge frommergeSrcPath
(as ofsrcPegRevision
) intopath
(as ofpegRevision
).discoverChangedPaths
andrevisionProperties
are the same as forSVNLogClient.doLog(File[], SVNRevision, SVNRevision, SVNRevision, boolean, boolean, boolean, long, String[], ISVNLogEntryHandler)
. Note: this routine requires repository access.- Parameters:
path
- working copy path (merge target)pegRevision
- a revision in whichpath
is first looked upmergeSrcPath
- merge source working copy pathsrcPegRevision
- a revision in whichmergeSrcPath
is first looked updiscoverChangedPaths
- true to report of all changed paths for every revision being processed (those paths will be available by callingSVNLogEntry.getChangedPaths()
)revisionProperties
- names of revision properties to retrievehandler
- the caller's log entry handler- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.UNSUPPORTED_FEATURE
error code - if the server doesn't support retrieval of mergeinfo- Since:
- 1.2, SVN 1.5
-
doGetLogEligibleMergeInfo
public void doGetLogEligibleMergeInfo(SVNURL url, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException
Drives a log entryhandler
with the revisions eligible for merge frommergeSrcPath
(as ofsrcPegRevision
) intourl
(as ofpegRevision
).discoverChangedPaths
andrevisionProperties
are the same as forSVNLogClient.doLog(File[], SVNRevision, SVNRevision, SVNRevision, boolean, boolean, boolean, long, String[], ISVNLogEntryHandler)
. Note: this routine requires repository access.- Parameters:
url
- repository url (merge target)pegRevision
- a revision in whichurl
is first looked upmergeSrcPath
- merge source working copy pathsrcPegRevision
- a revision in whichmergeSrcPath
is first looked updiscoverChangedPaths
- true to report of all changed paths for every revision being processed (those paths will be available by callingSVNLogEntry.getChangedPaths()
)revisionProperties
- names of revision properties to retrievehandler
- the caller's log entry handler- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.UNSUPPORTED_FEATURE
error code - if the server doesn't support retrieval of mergeinfo- Since:
- 1.2, SVN 1.5
-
doGetMergedMergeInfo
public java.util.Map<SVNURL,SVNMergeRangeList> doGetMergedMergeInfo(java.io.File path, SVNRevision pegRevision) throws SVNException
Returns mergeinfo as aMap
with merge source URLs (asSVNURL
) mapped to range lists (SVNMergeRangeList
). Range lists are objects containing arrays ofranges
describing the ranges which have been merged intopath
as ofpegRevision
. If there is no mergeinfo, returns null. Note: unlike most APIs which deal with mergeinfo, this one returns data where the keys of the map are absolute repository URLs rather than repository filesystem paths. Note: this routine requires repository access.- Parameters:
path
- working copy pathpegRevision
- a revision in whichpath
is first looked up- Returns:
- mergeinfo for
path
- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.UNSUPPORTED_FEATURE
error code - if the server doesn't support retrieval of mergeinfo (which will never happen for file:// URLs)- Since:
- 1.2, SVN 1.5
-
doGetMergedMergeInfo
public java.util.Map<SVNURL,SVNMergeRangeList> doGetMergedMergeInfo(SVNURL url, SVNRevision pegRevision) throws SVNException
Returns mergeinfo as aMap
with merge source URLs (asSVNURL
) mapped to range lists (SVNMergeRangeList
). Range lists are objects containing arrays ofranges
describing the ranges which have been merged intourl
as ofpegRevision
. If there is no mergeinfo, returns null. Note: unlike most APIs which deal with mergeinfo, this one returns data where the keys of the map are absolute repository URLs rather than repository filesystem paths. Note: this routine requires repository access.- Parameters:
url
- repository urlpegRevision
- a revision in whichurl
is first looked up- Returns:
- mergeinfo for
url
- Throws:
SVNException
- in the following cases:-
exception with
SVNErrorCode.UNSUPPORTED_FEATURE
error code - if the server doesn't support retrieval of mergeinfo (which will never happen for file:// URLs)- Since:
- 1.2, SVN 1.5
-
doSuggestMergeSources
public java.util.Collection<SVNURL> doSuggestMergeSources(java.io.File path, SVNRevision pegRevision) throws SVNException
Returns a collection of potential merge sources (expressed as full repositoryURLs
) forpath
atpegRevision
.- Parameters:
path
- working copy pathpegRevision
- a revision in whichpath
is first looked up- Returns:
- potential merge sources for
path
- Throws:
SVNException
- Since:
- 1.2, SVN 1.5
-
doSuggestMergeSources
public java.util.Collection<SVNURL> doSuggestMergeSources(SVNURL url, SVNRevision pegRevision) throws SVNException
Returns a collection of potential merge sources (expressed as full repositoryURLs
) forurl
atpegRevision
.- Parameters:
url
- repository urlpegRevision
- a revision in whichurl
is first looked up- Returns:
- potential merge sources for
url
- Throws:
SVNException
- Since:
- 1.2, SVN 1.5
-
doPatch
public void doPatch(java.io.File absPatchPath, java.io.File localAbsPath, boolean dryRun, int stripCount) throws SVNException
- Throws:
SVNException
-
doPatch
public void doPatch(java.io.File absPatchPath, java.io.File localAbsPath, boolean dryRun, int stripCount, boolean ignoreWhitespace, boolean removeTempFiles, boolean reverse) throws SVNException
- Throws:
SVNException
-
setAllowMixedRevisionsWCForMerge
public void setAllowMixedRevisionsWCForMerge(boolean allowMixedRevisions)
-
isShowCopiesAsAdds
public boolean isShowCopiesAsAdds()
-
setShowCopiesAsAdds
public void setShowCopiesAsAdds(boolean showCopiesAsAdds)
-
isGitDiffFormat
public boolean isGitDiffFormat()
-
setGitDiffFormat
public void setGitDiffFormat(boolean gitDiffFormat)
-
-