public class SvnNgMergeDriver extends java.lang.Object implements ISVNEventHandler
| Modifier and Type | Class and Description |
|---|---|
protected class |
SvnNgMergeDriver.MergePath |
static class |
SvnNgMergeDriver.MergeSource |
static class |
SvnNgMergeDriver.ObstructionState |
UNKNOWNNULL| Constructor and Description |
|---|
SvnNgMergeDriver(SVNWCContext context,
SvnMerge operation,
SvnRepositoryAccess repositoryAccess,
SVNDiffOptions diffOptions) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Map |
calculateImplicitMergeInfo(SVNRepository repos,
SVNURL url,
long[] targetRev,
long start,
long end) |
void |
calculateRemainingRanges(SvnNgMergeDriver.MergePath parent,
SvnNgMergeDriver.MergePath child,
SVNURL sourceRootURL,
SVNURL url1,
long revision1,
SVNURL url2,
long revision2,
java.util.Map targetMergeInfo,
SVNMergeRangeList implicitSrcGap,
boolean isSubtree,
boolean childInheritsImplicit,
SVNRepository repository) |
void |
checkCancelled()
Checks if the current operation is cancelled (somehow interrupted)
and should throw an SVNCancelException or notify the handler if exists.
|
protected void |
doDirectoryMerge(java.io.File targetPath,
java.util.Map<java.io.File,java.util.Map<java.lang.String,SVNMergeRangeList>> resultCatalog,
SVNURL url1,
long revision1,
SVNURL url2,
long revision2,
SVNDepth depth,
boolean abortOnConflicts,
boolean squelchMergeinfoNotifications) |
protected void |
doFileMerge(java.io.File targetPath,
java.util.Map<java.io.File,java.util.Map<java.lang.String,SVNMergeRangeList>> resultCatalog,
SVNURL url1,
long revision1,
SVNURL url2,
long revision2,
SVNDepth depth,
boolean sourceRelated,
boolean squelchMergeinfoNotifications) |
protected java.util.Collection<java.io.File> |
doMerge(java.util.Map<java.io.File,java.util.Map<java.lang.String,SVNMergeRangeList>> resultCatalog,
java.util.List<SvnNgMergeDriver.MergeSource> mergeSources,
java.io.File targetAbsPath,
boolean sourcesAncestral,
boolean sourcesRelated,
boolean sameRepository,
boolean ignoreAncestry,
boolean force,
boolean dryRun,
boolean recordOnly,
java.util.Collection<java.io.File> recordOnlyPaths,
boolean reintegrateMerge,
boolean squelcheMergeInfoNotifications,
SVNDepth depth,
SVNDiffOptions diffOptions) |
protected void |
doMergeInfoUnawareDirectoryMerge(java.io.File targetPath,
SVNURL url1,
long revision1,
SVNURL url2,
long revision2,
SVNDepth depth) |
SvnNgRemoteDiffEditor |
driveMergeReportEditor(java.io.File targetWCPath,
SVNURL url1,
long revision1,
SVNURL url2,
long revision2,
java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo,
boolean isRollBack,
SVNDepth depth,
SvnNgMergeCallback mergeCallback) |
protected SVNRepository |
ensureRepository(SVNRepository repository,
SVNURL url) |
protected SVNURL |
ensureSessionURL(SVNRepository repository,
SVNURL url) |
void |
ensureWcIsSuitableForMerge(java.io.File targetAbsPath,
boolean allowMixedRevs,
boolean allowLocalMods,
boolean allowSwitchedSubtrees) |
protected void |
findGapsInMergeSourceHistory(long[] gap,
java.lang.String mergeSrcCanonPath,
SVNURL url1,
long rev1,
SVNURL url2,
long rev2,
SVNRepository repos) |
protected java.util.Map<java.lang.String,SVNMergeRangeList>[] |
getFullMergeInfo(boolean getRecorded,
boolean getImplicit,
boolean[] inherited,
SVNMergeInfoInheritance inherit,
SVNRepository repos,
java.io.File target,
long start,
long end) |
protected java.lang.String |
getPathRelativeToRoot(SVNURL url,
SVNURL reposRootURL,
SVNRepository repos) |
void |
handleEvent(SVNEvent event,
double progress)
Handles the current event.
|
protected boolean |
isHonorMergeInfo() |
boolean |
isRecordMergeInfo() |
void |
mergeCousinsAndSupplementMergeInfo(java.io.File targetWCPath,
SVNRepository repository1,
SVNRepository repository2,
SVNURL url1,
long rev1,
SVNURL url2,
long rev2,
long youngestCommonRev,
SVNURL sourceReposRoot,
SVNURL wcReposRoot,
SVNDepth depth,
boolean ignoreAncestry,
boolean force,
boolean recordOnly,
boolean dryRun) |
java.util.List<SvnNgMergeDriver.MergeSource> |
normalizeMergeSources(SvnTarget source,
SVNURL sourceURL,
SVNURL sourceRootURL,
SVNRevision pegRevision,
java.util.Collection<SVNRevisionRange> rangesToMerge,
SVNRepository repository) |
SvnNgMergeDriver.ObstructionState |
performObstructionCheck(java.io.File localAbsPath,
SVNNodeKind expectedKind) |
protected void |
recordMergeInfoForDirectoryMerge(java.util.Map<java.io.File,java.util.Map<java.lang.String,SVNMergeRangeList>> resultCatalog,
SVNMergeRange mergeRange,
java.lang.String mergeInfoPath,
SVNDepth depth,
boolean squelchMergeinfoNotifications) |
public SvnNgMergeDriver(SVNWCContext context, SvnMerge operation, SvnRepositoryAccess repositoryAccess, SVNDiffOptions diffOptions)
public void ensureWcIsSuitableForMerge(java.io.File targetAbsPath,
boolean allowMixedRevs,
boolean allowLocalMods,
boolean allowSwitchedSubtrees)
throws SVNException
SVNExceptionpublic void mergeCousinsAndSupplementMergeInfo(java.io.File targetWCPath,
SVNRepository repository1,
SVNRepository repository2,
SVNURL url1,
long rev1,
SVNURL url2,
long rev2,
long youngestCommonRev,
SVNURL sourceReposRoot,
SVNURL wcReposRoot,
SVNDepth depth,
boolean ignoreAncestry,
boolean force,
boolean recordOnly,
boolean dryRun)
throws SVNException
SVNExceptionpublic java.util.List<SvnNgMergeDriver.MergeSource> normalizeMergeSources(SvnTarget source, SVNURL sourceURL, SVNURL sourceRootURL, SVNRevision pegRevision, java.util.Collection<SVNRevisionRange> rangesToMerge, SVNRepository repository) throws SVNException
SVNExceptionprotected java.util.Collection<java.io.File> doMerge(java.util.Map<java.io.File,java.util.Map<java.lang.String,SVNMergeRangeList>> resultCatalog, java.util.List<SvnNgMergeDriver.MergeSource> mergeSources, java.io.File targetAbsPath, boolean sourcesAncestral, boolean sourcesRelated, boolean sameRepository, boolean ignoreAncestry, boolean force, boolean dryRun, boolean recordOnly, java.util.Collection<java.io.File> recordOnlyPaths, boolean reintegrateMerge, boolean squelcheMergeInfoNotifications, SVNDepth depth, SVNDiffOptions diffOptions) throws SVNException
SVNExceptionprotected void doMergeInfoUnawareDirectoryMerge(java.io.File targetPath,
SVNURL url1,
long revision1,
SVNURL url2,
long revision2,
SVNDepth depth)
throws SVNException
SVNExceptionprotected void doFileMerge(java.io.File targetPath,
java.util.Map<java.io.File,java.util.Map<java.lang.String,SVNMergeRangeList>> resultCatalog,
SVNURL url1,
long revision1,
SVNURL url2,
long revision2,
SVNDepth depth,
boolean sourceRelated,
boolean squelchMergeinfoNotifications)
throws SVNException
SVNExceptionprotected void doDirectoryMerge(java.io.File targetPath,
java.util.Map<java.io.File,java.util.Map<java.lang.String,SVNMergeRangeList>> resultCatalog,
SVNURL url1,
long revision1,
SVNURL url2,
long revision2,
SVNDepth depth,
boolean abortOnConflicts,
boolean squelchMergeinfoNotifications)
throws SVNException
SVNExceptionpublic SvnNgRemoteDiffEditor driveMergeReportEditor(java.io.File targetWCPath, SVNURL url1, long revision1, SVNURL url2, long revision2, java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo, boolean isRollBack, SVNDepth depth, SvnNgMergeCallback mergeCallback) throws SVNException
SVNExceptionprotected boolean isHonorMergeInfo()
public boolean isRecordMergeInfo()
protected SVNURL ensureSessionURL(SVNRepository repository, SVNURL url) throws SVNException
SVNExceptionprotected java.util.Map<java.lang.String,SVNMergeRangeList>[] getFullMergeInfo(boolean getRecorded, boolean getImplicit, boolean[] inherited, SVNMergeInfoInheritance inherit, SVNRepository repos, java.io.File target, long start, long end) throws SVNException
SVNExceptionpublic java.util.Map calculateImplicitMergeInfo(SVNRepository repos, SVNURL url, long[] targetRev, long start, long end) throws SVNException
SVNExceptionprotected void findGapsInMergeSourceHistory(long[] gap,
java.lang.String mergeSrcCanonPath,
SVNURL url1,
long rev1,
SVNURL url2,
long rev2,
SVNRepository repos)
throws SVNException
SVNExceptionpublic void calculateRemainingRanges(SvnNgMergeDriver.MergePath parent, SvnNgMergeDriver.MergePath child, SVNURL sourceRootURL, SVNURL url1, long revision1, SVNURL url2, long revision2, java.util.Map targetMergeInfo, SVNMergeRangeList implicitSrcGap, boolean isSubtree, boolean childInheritsImplicit, SVNRepository repository) throws SVNException
SVNExceptionprotected java.lang.String getPathRelativeToRoot(SVNURL url, SVNURL reposRootURL, SVNRepository repos) throws SVNException
SVNExceptionprotected void recordMergeInfoForDirectoryMerge(java.util.Map<java.io.File,java.util.Map<java.lang.String,SVNMergeRangeList>> resultCatalog, SVNMergeRange mergeRange, java.lang.String mergeInfoPath, SVNDepth depth, boolean squelchMergeinfoNotifications) throws SVNException
SVNExceptionpublic void checkCancelled()
throws SVNCancelException
ISVNCancellercheckCancelled in interface ISVNCancellerSVNCancelExceptionpublic void handleEvent(SVNEvent event, double progress) throws SVNException
ISVNEventHandlerGenerally all operations represented by do*() methods of SVN*Client objects are followed by generating a sequence of events that are passed to the registered ISVNEventHandler object for custom processing. For example, during an update operation each local item being modified is signaled about by dispatching a specific for this item SVNEvent object to this method where this event can be scrutinized and handled in a desired way.
handleEvent in interface ISVNEventHandlerevent - the current event that keeps detailed information on
the type of action occured and other attributes like path,
status, etc.progress - currently reserved for future use; now it's value
is always set to ISVNEventHandler.UNKNOWNSVNExceptionprotected SVNRepository ensureRepository(SVNRepository repository, SVNURL url) throws SVNException
SVNExceptionpublic SvnNgMergeDriver.ObstructionState performObstructionCheck(java.io.File localAbsPath, SVNNodeKind expectedKind) throws SVNException
SVNExceptionCopyright © 2004-2012 TMate Software Ltd. All Rights Reserved.