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 |
UNKNOWN
NULL
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
SVNException
public 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
SVNException
public java.util.List<SvnNgMergeDriver.MergeSource> normalizeMergeSources(SvnTarget source, SVNURL sourceURL, SVNURL sourceRootURL, SVNRevision pegRevision, java.util.Collection<SVNRevisionRange> rangesToMerge, SVNRepository repository) throws SVNException
SVNException
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) throws SVNException
SVNException
protected void doMergeInfoUnawareDirectoryMerge(java.io.File targetPath, SVNURL url1, long revision1, SVNURL url2, long revision2, SVNDepth depth) throws SVNException
SVNException
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) throws SVNException
SVNException
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) throws SVNException
SVNException
public 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
SVNException
protected boolean isHonorMergeInfo()
public boolean isRecordMergeInfo()
protected SVNURL ensureSessionURL(SVNRepository repository, SVNURL url) throws SVNException
SVNException
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) throws SVNException
SVNException
public java.util.Map calculateImplicitMergeInfo(SVNRepository repos, SVNURL url, long[] targetRev, long start, long end) throws SVNException
SVNException
protected void findGapsInMergeSourceHistory(long[] gap, java.lang.String mergeSrcCanonPath, SVNURL url1, long rev1, SVNURL url2, long rev2, SVNRepository repos) throws SVNException
SVNException
public 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
SVNException
protected java.lang.String getPathRelativeToRoot(SVNURL url, SVNURL reposRootURL, SVNRepository repos) throws SVNException
SVNException
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) throws SVNException
SVNException
public void checkCancelled() throws SVNCancelException
ISVNCanceller
checkCancelled
in interface ISVNCanceller
SVNCancelException
public void handleEvent(SVNEvent event, double progress) throws SVNException
ISVNEventHandler
Generally 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 ISVNEventHandler
event
- 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.UNKNOWN
SVNException
protected SVNRepository ensureRepository(SVNRepository repository, SVNURL url) throws SVNException
SVNException
public SvnNgMergeDriver.ObstructionState performObstructionCheck(java.io.File localAbsPath, SVNNodeKind expectedKind) throws SVNException
SVNException
Copyright © 2004-2012 TMate Software Ltd. All Rights Reserved.