public class SvnNgMergeDriver
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
protected static class |
SvnNgMergeDriver.MergeData |
protected class |
SvnNgMergeDriver.MergePath |
static class |
SvnNgMergeDriver.MergeSource |
static class |
SvnNgMergeDriver.NotifyBeginState |
static class |
SvnNgMergeDriver.ObstructionState |
Modifier and Type | Field and Description |
---|---|
protected java.util.Collection<java.io.File> |
addedPaths |
protected java.util.Collection<java.io.File> |
conflictedPaths |
protected SVNMergeRangeList |
implicitSrcGap |
protected java.util.Collection<java.io.File> |
mergedPaths |
SvnNgMergeDriver.NotifyBeginState |
notifyBegin |
protected java.util.Collection<java.io.File> |
skippedPaths |
protected java.util.Collection<java.io.File> |
treeConflictedPaths |
boolean |
useSleep |
Constructor and Description |
---|
SvnNgMergeDriver(SVNWCContext context,
SvnMerge operation,
SvnNgRepositoryAccess 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() |
protected SvnSingleRangeConflictReport |
doDirectoryMerge(java.util.Map<java.io.File,java.util.Map<java.lang.String,SVNMergeRangeList>> resultCatalog,
SvnNgMergeDriver.MergeSource source,
java.io.File targetAbsPath,
SVNURL sourceRootUrl,
ISvnDiffCallback2 processor,
SVNDepth depth,
boolean squelchMergeinfoNotifications) |
protected SvnNgMergeDriver.MergeData |
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,
SVNRepository sourceRepository,
boolean sourcesRelated,
boolean sameRepository,
boolean ignoreMergeInfo,
boolean diffIgnoreAncestry,
boolean forceDelete,
boolean dryRun,
boolean recordOnly,
java.util.Collection<java.io.File> recordOnlyPaths,
boolean reintegrateMerge,
boolean squelcheMergeInfoNotifications,
SVNDepth depth,
SVNDiffOptions diffOptions) |
protected SvnSingleRangeConflictReport |
doMergeInfoAwareDirectoryMerge(java.util.Map<java.io.File,java.util.Map<java.lang.String,SVNMergeRangeList>> resultCatalog,
SvnNgMergeDriver.MergeSource source,
java.io.File targetPath,
SVNURL sourceRootUrl,
java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo,
SVNDepth depth,
boolean squelchMergeinfoNotifications,
ISvnDiffCallback2 processor) |
protected SvnSingleRangeConflictReport |
doMergeInfoUnawareDirectoryMerge(SvnNgMergeDriver.MergeSource source,
java.io.File targetPath,
java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo,
SVNDepth depth) |
SvnNgRemoteMergeEditor |
driveMergeReportEditor(java.io.File targetWCPath,
SVNURL url1,
long revision1,
SVNURL url2,
long revision2,
java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo,
SVNDepth depth,
ISvnDiffCallback2 mergeCallback) |
protected SVNRepository |
ensureRepository(SVNRepository repository,
SVNURL url) |
protected static 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 static SvnNgMergeDriver.MergePath |
findNearestAncestor(java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo,
boolean pathIsAncestor,
java.io.File localAbsPath) |
protected static int |
findNearestAncestor(java.lang.Object[] childrenWithMergeInfoArray,
boolean pathIsOwnAncestor,
java.io.File path) |
static SvnNgMergeDriver.MergePath |
findNearestAncestorWithIntersectingRanges(long[] revisions,
java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo,
boolean pathIsOwnAncestor,
java.io.File localAbsPath) |
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) |
protected boolean |
isHonorMergeInfo() |
boolean |
isRecordMergeInfo() |
static void |
makeMergeConflictError(SvnConflictReport report) |
SvnNgMergeDriver.MergeData |
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 ignoreMergeInfo,
boolean ignoreAncestry,
boolean forceDelete,
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,
java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo) |
public boolean useSleep
protected SVNMergeRangeList implicitSrcGap
protected java.util.Collection<java.io.File> addedPaths
protected java.util.Collection<java.io.File> mergedPaths
protected java.util.Collection<java.io.File> skippedPaths
protected java.util.Collection<java.io.File> treeConflictedPaths
protected java.util.Collection<java.io.File> conflictedPaths
public SvnNgMergeDriver.NotifyBeginState notifyBegin
public SvnNgMergeDriver(SVNWCContext context, SvnMerge operation, SvnNgRepositoryAccess repositoryAccess, SVNDiffOptions diffOptions)
public static SvnNgMergeDriver.MergePath findNearestAncestorWithIntersectingRanges(long[] revisions, java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo, boolean pathIsOwnAncestor, java.io.File localAbsPath)
public static void makeMergeConflictError(SvnConflictReport report) throws SVNException
SVNException
public void ensureWcIsSuitableForMerge(java.io.File targetAbsPath, boolean allowMixedRevs, boolean allowLocalMods, boolean allowSwitchedSubtrees) throws SVNException
SVNException
public SvnNgMergeDriver.MergeData 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 ignoreMergeInfo, boolean ignoreAncestry, boolean forceDelete, 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 SvnNgMergeDriver.MergeData 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, SVNRepository sourceRepository, boolean sourcesRelated, boolean sameRepository, boolean ignoreMergeInfo, boolean diffIgnoreAncestry, boolean forceDelete, boolean dryRun, boolean recordOnly, java.util.Collection<java.io.File> recordOnlyPaths, boolean reintegrateMerge, boolean squelcheMergeInfoNotifications, SVNDepth depth, SVNDiffOptions diffOptions) throws SVNException
SVNException
protected SvnSingleRangeConflictReport doMergeInfoAwareDirectoryMerge(java.util.Map<java.io.File,java.util.Map<java.lang.String,SVNMergeRangeList>> resultCatalog, SvnNgMergeDriver.MergeSource source, java.io.File targetPath, SVNURL sourceRootUrl, java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo, SVNDepth depth, boolean squelchMergeinfoNotifications, ISvnDiffCallback2 processor) throws SVNException
SVNException
protected SvnSingleRangeConflictReport doMergeInfoUnawareDirectoryMerge(SvnNgMergeDriver.MergeSource source, java.io.File targetPath, java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo, SVNDepth depth) throws SVNException
SVNException
protected SvnSingleRangeConflictReport doDirectoryMerge(java.util.Map<java.io.File,java.util.Map<java.lang.String,SVNMergeRangeList>> resultCatalog, SvnNgMergeDriver.MergeSource source, java.io.File targetAbsPath, SVNURL sourceRootUrl, ISvnDiffCallback2 processor, SVNDepth depth, boolean squelchMergeinfoNotifications) throws SVNException
SVNException
public SvnNgRemoteMergeEditor driveMergeReportEditor(java.io.File targetWCPath, SVNURL url1, long revision1, SVNURL url2, long revision2, java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo, SVNDepth depth, ISvnDiffCallback2 mergeCallback) throws SVNException
SVNException
protected boolean isHonorMergeInfo()
public boolean isRecordMergeInfo()
protected static SVNURL ensureSessionURL(SVNRepository repository, SVNURL url) throws SVNException
SVNException
protected static SvnNgMergeDriver.MergePath findNearestAncestor(java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo, boolean pathIsAncestor, java.io.File localAbsPath)
protected static int findNearestAncestor(java.lang.Object[] childrenWithMergeInfoArray, boolean pathIsOwnAncestor, java.io.File path)
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, java.util.Map<java.io.File,SvnNgMergeDriver.MergePath> childrenWithMergeInfo) throws SVNException
SVNException
public void checkCancelled() throws SVNCancelException
SVNCancelException
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.