Class SVNMergeDriver
java.lang.Object
org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate
org.tmatesoft.svn.core.internal.wc.SVNMergeDriver
- All Implemented Interfaces:
ISVNMergeStrategy,ISVNCanceller,ISVNEventHandler
- Direct Known Subclasses:
SVNDiffClient16
- Version:
- 1.3
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate classprotected static classprotected classprotected classprotected classprivate classprotected classNested classes/interfaces inherited from class org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate
SVNBasicDelegate.RepositoryReference, SVNBasicDelegate.SVNRepositoryLocation -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate java.util.Listprotected booleanprivate java.util.Listprotected java.util.Mapprotected intprivate SVNMergeDriver.MergeSourceprotected java.util.Mapprotected booleanprivate SVNMergeRangeListprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprotected booleanprivate SVNLogClient16private java.util.Listprotected intprotected intprivate java.util.LinkedListprivate java.util.Listprotected SVNRepositoryprotected SVNRepositoryprivate java.util.Listprotected java.io.Fileprotected SVNURLprotected SVNWCAccessFields inherited from interface org.tmatesoft.svn.core.ISVNCanceller
NULLFields inherited from interface org.tmatesoft.svn.core.wc.ISVNEventHandler
UNKNOWN -
Constructor Summary
ConstructorsModifierConstructorDescriptionSVNMergeDriver(ISVNAuthenticationManager authManager, ISVNOptions options) protectedSVNMergeDriver(ISVNRepositoryPool repositoryPool, ISVNOptions options) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddPathWithDeletedMergeInfo(java.io.File path) protected voidaddPathWithNewMergeInfo(java.io.File path) private voidadjustDeletedSubTreeRanges(SVNMergeDriver.MergePath child, SVNMergeDriver.MergePath parent, long revision1, long revision2, SVNURL primaryURL, SVNRepository repository) java.util.MapcalculateImplicitMergeInfo(SVNRepository repos, SVNURL url, long[] targetRev, long start, long end) private java.util.MapcalculateLeftHandSide(SVNURL[] leftURL, long[] leftRev, java.lang.String targetReposRelPath, java.util.Collection subTreesWithMergeInfo, long targetRev, java.lang.String sourceReposRelPath, SVNURL sourceReposRoot, long sourceRev, SVNRepository sourceRepository, SVNRepository targetRepository) private voidcalculateMergeInheritance(SVNMergeRangeList rangeList, SVNEntry entry, boolean wcPathIsMergeTarget, boolean wcPathHasMissingChild, SVNDepth depth) java.lang.Object[]calculateRemainingRangeList(java.io.File targetFile, SVNEntry entry, SVNURL sourceRoot, boolean[] indirect, SVNURL url1, long revision1, SVNURL url2, long revision2, SVNMergeRange range) voidcalculateRemainingRanges(SVNMergeDriver.MergePath parent, SVNMergeDriver.MergePath child, SVNURL sourceRootURL, SVNURL url1, long revision1, SVNURL url2, long revision2, java.util.Map targetMergeInfo, SVNMergeRangeList implicitSrcGap, boolean isSubtree, boolean childInheritsImplicit, SVNEntry entry, SVNRepository repository) voidRedirects this call to the registered event handler (if any).private java.util.ListcombineRangeWithSegments(SVNMergeRange range, SVNLocationSegment[] segments, SVNURL sourceRootURL) private static SVNPropertiescomputePropsDiff(SVNProperties props1, SVNProperties props2) protected voiddoDirectoryMerge(java.util.Map resultCatalog, SVNURL url1, long revision1, SVNURL url2, long revision2, SVNEntry parentEntry, SVNAdminArea adminArea, SVNDepth depth) protected voiddoDirectoryMerge(SVNURL url1, long revision1, SVNURL url2, long revision2, SVNEntry parentEntry, SVNAdminArea adminArea, SVNDepth depth) Deprecated.protected voiddoFileMerge(java.util.Map resultCatalog, SVNURL url1, long revision1, SVNURL url2, long revision2, java.io.File targetWCPath, SVNAdminArea adminArea, boolean sourcesRelated) protected voiddoFileMerge(SVNURL url1, long revision1, SVNURL url2, long revision2, java.io.File targetWCPath, SVNAdminArea adminArea, boolean sourcesRelated) Deprecated.protected voiddoMerge(java.util.Map resultCatalog, java.util.List mergeSources, java.io.File target, SVNEntry targetEntry, SVNAdminArea adminArea, boolean sourcesAncestral, boolean sourcesRelated, boolean sameRepository, boolean ignoreAncestry, boolean force, boolean dryRun, boolean recordOnly, boolean reintegrateMerge, SVNDepth depth) protected voiddoMergeInfoUnawareDirectoryMerge(SVNURL url1, long revision1, SVNURL url2, long revision2, SVNAdminArea adminArea, SVNDepth depth) driveMergeReportEditor(java.io.File targetWCPath, SVNURL url1, long revision1, SVNURL url2, long revision2, java.util.List childrenWithMergeInfo, boolean isRollBack, SVNDepth depth, SVNAdminArea adminArea, SVNMergeCallback mergeCallback, ISVNReusableEditor editor) private voidensureAllMissingRangesArePhantoms(SVNRepository repository, java.util.Map unmergedHistory) private voidensureImplicitMergeinfo(SVNMergeDriver.MergePath parent, SVNMergeDriver.MergePath child, boolean childInheritsParent, SVNEntry entry, long revision1, long revision2, SVNRepository repository) protected SVNRepositoryensureRepository(SVNRepository repository, SVNURL url) private voidensureWCReflectsRepositorySubTree(java.io.File targetWCPath) private voidfilterMergedRevisions(SVNMergeDriver.MergePath parent, SVNMergeDriver.MergePath child, SVNEntry entry, SVNRepository repository, java.lang.String mergeInfoPath, java.util.Map targetMergeInfo, long rev1, long rev2, boolean childInheritsImplicit) private SVNMergeRangeListfilterNaturalHistoryFromMergeInfo(java.lang.String srcPath, java.util.Map implicitMergeInfo, SVNMergeRange requestedRange) static SVNPropertiesfilterProperties(SVNProperties props1, boolean leftRegular, boolean leftEntry, boolean leftWC) static SVNPropertiesfilterProperties(SVNProperties props1, boolean leftRegular, boolean leftEntry, boolean leftWC, boolean leftKeywords) protected SVNPropertiesfilterSelfReferentialMergeInfo(SVNProperties props, java.io.File path) protected voidfindGapsInMergeSourceHistory(long[] gap, java.lang.String mergeSrcCanonPath, SVNURL url1, long rev1, SVNURL url2, long rev2, SVNRepository repos) private intfindNearestAncestor(java.lang.Object[] childrenWithMergeInfoArray, boolean pathIsOwnAncestor, java.io.File path) private java.util.MapfindUnmergedMergeInfo(boolean[] neverSynched, long[] youngestMergedRev, long[] ycAncestorRev, java.util.Map srcCatalog, java.util.Map targetSegments, java.lang.String sourceReposPath, java.lang.String targetReposPath, long targetRev, long srcRev, SVNRepository sourceRepository, SVNRepository targetRepository) private voidfixDeletedSubtreeRanges(SVNURL url1, long revision1, SVNURL url2, long revision2, SVNRepository repository) protected SVNLocationEntrygetCopySource(java.io.File path, SVNURL url, SVNRevision revision) protected SVNMergeDriver.MergeSourceprotected java.util.Map[]getFullMergeInfo(SVNEntry entry, boolean getRecorded, boolean getImplicit, boolean[] indirect, SVNMergeInfoInheritance inherit, SVNRepository repos, java.io.File target, long start, long end) java.util.MapgetHistoryAsMergeInfo(SVNURL url, java.io.File path, SVNRevision pegRevision, long rangeYoungest, long rangeOldest, SVNRepository repos, SVNWCAccess access) protected SVNLogClient16voidgetLogEligibleMergeInfo(java.io.File path, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) Deprecated.voidgetLogEligibleMergeInfo(java.io.File path, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) voidgetLogEligibleMergeInfo(SVNURL url, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) voidgetLogEligibleMergeInfo(SVNURL url, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) voidgetLogMergedMergeInfo(java.io.File path, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) voidgetLogMergedMergeInfo(java.io.File path, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) voidgetLogMergedMergeInfo(SVNURL url, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) voidgetLogMergedMergeInfo(SVNURL url, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) protected voidgetLogsForMergeInfoRangeList(SVNURL reposRootURL, java.lang.String[] paths, SVNMergeRangeList rangeList, boolean discoverChangedPaths, java.lang.String[] revProps, ISVNLogEntryHandler handler) private SVNMergeCallbackgetMergeCallback(SVNAdminArea adminArea) java.util.MapgetMergedMergeInfo(java.io.File path, SVNRevision pegRevision) Deprecated.java.util.MapgetMergedMergeInfo(SVNURL url, SVNRevision pegRevision) Deprecated.protected java.util.MapgetMergeInfo(java.io.File path, SVNRevision pegRevision, SVNURL[] repositoryRoot) protected java.util.MapgetMergeInfo(SVNURL url, SVNRevision pegRevision, SVNURL[] repositoryRoot) getMergeInfoEntryHandler(java.lang.String mergeSrcPath, SVNURL sourceRootURL, long revision1, long revision2, SVNRepository repository, SVNDepth depth, java.util.List childrenWithMergeInfo) static java.util.Map<java.lang.String,SVNMergeRangeList> getMergeInfoFromSegments(java.util.Collection segments) private java.util.ListgetMergeInfoPaths(java.util.List children, java.lang.String mergeSrcPath, SVNEntry entry, SVNURL sourceRootURL, long revision1, long revision2, boolean honorMergeInfo, SVNRepository repository, SVNDepth depth) abstract SVNDiffOptionsgetMergeReportEditor(long defaultStart, long revision, SVNAdminArea adminArea, SVNDepth depth, AbstractDiffCallback mergeCallback, ISVNReusableEditor editor) private longgetMostInclusiveEndRevision(java.util.List childrenWithMergeInfo, boolean isRollBack) private longgetMostInclusiveStartRevision(java.util.List childrenWithMergeInfo, boolean isRollBack) private SVNLocationEntrygetYoungestCommonAncestor(java.io.File path1, SVNURL url1, long revision1, java.io.File path2, SVNURL url2, long revision2) voidhandleEvent(SVNEvent event, double progress) Dispatches events to the registered event handler (if any).private voidinheritImplicitMergeinfoFromParent(SVNMergeDriver.MergePath parent, SVNMergeDriver.MergePath child, long revision1, long revision2, SVNRepository repository) protected booleanprivate booleanisOperativeNotification(SVNEvent event) booleanbooleanprivate java.io.FileloadFile(SVNRepository repository, long revision, SVNProperties properties, SVNAdminArea adminArea) private SVNErrorMessagemakeMergeConflictError(java.io.File targetPath, SVNMergeRange range) protected SVNTreeConflictDescriptionmakeTreeConflict(java.io.File victim, SVNNodeKind kind, SVNConflictAction action, SVNConflictReason reason) private voidmergeCousinsAndSupplementMergeInfo(java.io.File targetWCPath, SVNEntry entry, SVNAdminArea adminArea, 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) private booleanmergeRangeContainsRevision(SVNMergeRange range, long rev) private java.util.ListnormalizeMergeSources(java.io.File source, SVNURL sourceURL, SVNURL sourceRootURL, SVNRevision pegRevision, java.util.Collection rangesToMerge, SVNRepository repository) private booleannotifySingleFileMerge(java.io.File targetWCPath, SVNEventAction action, SVNStatusType cstate, SVNStatusType pstate, SVNEvent headerEvent, boolean isHeaderSent) private voidpopulateRemainingRanges(java.util.List childrenWithMergeInfo, SVNURL sourceRootURL, SVNURL url1, long revision1, SVNURL url2, long revision2, boolean honorMergeInfo, SVNRepository repository, java.lang.String parentMergeSrcCanonPath) private voidprivate voidprotected voidrecordMergeInfoForAddedSubtrees(SVNMergeRange range, java.lang.String mergeInfoPath, SVNDepth depth) protected voidrecordMergeInfoForDirectoryMerge(java.util.Map resultCatalog, SVNEntry targetEntry, SVNMergeRange range, java.lang.String mergeInfoPath, SVNDepth depth) private voidrecordSkips(java.lang.String mergeInfoPath, SVNEntry targetEntry, boolean isRollback) protected voidrecordTreeConflict(java.io.File victim, SVNAdminArea adminArea, SVNNodeKind kind, SVNConflictAction action, SVNConflictReason reason) protected voidrecordTreeConflictOnAdd(java.io.File victim, SVNAdminArea adminArea, SVNNodeKind kind, SVNConflictAction action, SVNConflictReason reason) private voidremoveAbsentChildren(java.io.File targetWCPath, java.util.List childrenWithMergeInfo) private voidremoveFirstRangeFromRemainingRanges(long endRevision, java.util.List childrenWithMergeInfo) private SVNMergeRangeListremoveNoOpMergeRanges(SVNRepository repository, SVNMergeRangeList ranges) private voidremoveNoOpSubtreeRanges(SVNURL url1, long revision1, SVNURL url2, long revision2, SVNRepository repository) protected voidrunMerge(SVNURL url1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, java.io.File targetWCPath, SVNDepth depth, boolean dryRun, boolean force, boolean ignoreAncestry, boolean recordOnly) protected voidrunMergeReintegrate(SVNURL srcURL, java.io.File srcPath, SVNRevision pegRevision, java.io.File targetWCPath, boolean dryRun) protected voidrunPeggedMerge(SVNURL srcURL, java.io.File srcPath, java.util.Collection rangesToMerge, SVNRevision pegRevision, java.io.File targetWCPath, SVNDepth depth, boolean dryRun, boolean force, boolean ignoreAncestry, boolean recordOnly) private voidsliceRemainingRanges(java.util.List childrenWithMergeInfo, boolean isRollBack, long endRevision) private java.util.MapsplitMergeInfoOnRevision(java.util.Map[] mergeInfo, long revision) java.util.CollectionsuggestMergeSources(java.io.File path, SVNRevision pegRevision) java.util.CollectionsuggestMergeSources(SVNURL url, SVNRevision pegRevision) Deprecated.private voidupdateWCMergeInfo(java.util.Map resultCatalog, java.io.File targetPath, java.lang.String parentReposPath, SVNEntry entry, java.util.Map merges, boolean isRollBack) Methods inherited from class org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate
createRepository, createRepository, createRepository, createWCAccess, createWCAccess, deriveLocation, dispatchEvent, dispatchEvent, elideMergeInfo, ensureSessionURL, getDebugLog, getEntryLocation, getEventDispatcher, getLevelsToLockFromDepth, getLocations, getOptions, getPathLastChangeRevision, getPathRelativeToRoot, getPathRelativeToSession, getRepositoryPool, getReposMergeInfo, getReposRoot, getRevisionNumber, getRevisionNumber, getURL, getWCMergeInfo, getWCOrRepositoryMergeInfo, handlePathListItem, isIgnoreExternals, isLeaveConflictsUnresolved, resolveRevisions, setCommitItemAccess, setCommitItemFlags, setCommitItemProperty, setDebugLog, setEventHandler, setEventPathPrefix, setIgnoreExternals, setLeaveConflictsUnresolved, setOptions, setPathListHandler, sleepForTimeStampMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
myAreSourcesAncestral
protected boolean myAreSourcesAncestral -
myIsSameRepository
protected boolean myIsSameRepository -
myIsDryRun
protected boolean myIsDryRun -
myIsRecordOnly
protected boolean myIsRecordOnly -
myIsForce
protected boolean myIsForce -
myIsTargetMissingChild
protected boolean myIsTargetMissingChild -
myHasExistingMergeInfo
protected boolean myHasExistingMergeInfo -
myIsIgnoreAncestry
protected boolean myIsIgnoreAncestry -
myIsSingleFileMerge
protected boolean myIsSingleFileMerge -
myIsMergeInfoCapable
protected boolean myIsMergeInfoCapable -
myIsReIntegrateMerge
protected boolean myIsReIntegrateMerge -
myIsAddNecessitatedMerge
protected boolean myIsAddNecessitatedMerge -
myOperativeNotificationsNumber
protected int myOperativeNotificationsNumber -
myNotificationsNumber
protected int myNotificationsNumber -
myCurrentAncestorIndex
protected int myCurrentAncestorIndex -
myConflictedPaths
protected java.util.Map myConflictedPaths -
myDryRunDeletions
protected java.util.Map myDryRunDeletions -
myURL
-
myTarget
protected java.io.File myTarget -
myMergedPaths
private java.util.List myMergedPaths -
mySkippedPaths
private java.util.List mySkippedPaths -
myChildrenWithMergeInfo
private java.util.List myChildrenWithMergeInfo -
myAddedPaths
private java.util.List myAddedPaths -
myWCAccess
-
myRepository1
-
myRepository2
-
myLogClient
-
myPathsWithNewMergeInfo
private java.util.List myPathsWithNewMergeInfo -
myPathsWithDeletedMergeInfo
private java.util.LinkedList myPathsWithDeletedMergeInfo -
myCurrentMergeSource
-
myImplicitSrcGap
-
-
Constructor Details
-
SVNMergeDriver
-
SVNMergeDriver
-
-
Method Details
-
getMergeOptions
-
getLogMergedMergeInfo
public void getLogMergedMergeInfo(java.io.File path, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException Deprecated.- Parameters:
path-pegRevision-mergeSrcURL-srcPegRevision-discoverChangedPaths-revisionProperties-handler-- Throws:
SVNException
-
getLogMergedMergeInfo
public void getLogMergedMergeInfo(SVNURL url, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException Deprecated.- Parameters:
url-pegRevision-mergeSrcURL-srcPegRevision-discoverChangedPaths-revisionProperties-handler-- Throws:
SVNException
-
getLogMergedMergeInfo
public void getLogMergedMergeInfo(java.io.File path, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException Deprecated.- Parameters:
path-pegRevision-mergeSrcPath-srcPegRevision-discoverChangedPaths-revisionProperties-handler-- Throws:
SVNException
-
getLogMergedMergeInfo
public void getLogMergedMergeInfo(SVNURL url, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException Deprecated.- Parameters:
url-pegRevision-mergeSrcPath-srcPegRevision-discoverChangedPaths-revisionProperties-handler-- Throws:
SVNException
-
getLogEligibleMergeInfo
public void getLogEligibleMergeInfo(java.io.File path, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException Deprecated.- Parameters:
path-pegRevision-mergeSrcURL-srcPegRevision-discoverChangedPaths-revisionProperties-handler-- Throws:
SVNException
-
getLogEligibleMergeInfo
public void getLogEligibleMergeInfo(SVNURL url, SVNRevision pegRevision, SVNURL mergeSrcURL, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException Deprecated.- Parameters:
url-pegRevision-mergeSrcURL-srcPegRevision-discoverChangedPaths-revisionProperties-handler-- Throws:
SVNException
-
getLogEligibleMergeInfo
public void getLogEligibleMergeInfo(java.io.File path, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException Deprecated.- Parameters:
path-pegRevision-mergeSrcPath-srcPegRevision-discoverChangedPaths-revisionProperties-handler-- Throws:
SVNException
-
getLogEligibleMergeInfo
public void getLogEligibleMergeInfo(SVNURL url, SVNRevision pegRevision, java.io.File mergeSrcPath, SVNRevision srcPegRevision, boolean discoverChangedPaths, java.lang.String[] revisionProperties, ISVNLogEntryHandler handler) throws SVNException Deprecated.- Parameters:
url-pegRevision-mergeSrcPath-srcPegRevision-discoverChangedPaths-revisionProperties-handler-- Throws:
SVNException
-
getMergedMergeInfo
public java.util.Map getMergedMergeInfo(java.io.File path, SVNRevision pegRevision) throws SVNException Deprecated.- Parameters:
path-pegRevision-- Returns:
- mergeinfo
- Throws:
SVNException
-
getMergedMergeInfo
Deprecated.- Parameters:
url-pegRevision-- Returns:
- mergeinfo
- Throws:
SVNException
-
suggestMergeSources
public java.util.Collection suggestMergeSources(java.io.File path, SVNRevision pegRevision) throws SVNException - Parameters:
path-pegRevision-- Returns:
- mergeinfo
- Throws:
SVNException
-
suggestMergeSources
public java.util.Collection suggestMergeSources(SVNURL url, SVNRevision pegRevision) throws SVNException Deprecated.- Parameters:
url-pegRevision-- Returns:
- mergeinfo
- Throws:
SVNException
-
handleEvent
Description copied from class:SVNBasicDelegateDispatches events to the registered event handler (if any).- Specified by:
handleEventin interfaceISVNEventHandler- Overrides:
handleEventin classSVNBasicDelegate- Parameters:
event- the current eventprogress- progress state (from 0 to 1)- Throws:
SVNException
-
checkCancelled
Description copied from class:SVNBasicDelegateRedirects this call to the registered event handler (if any).- Specified by:
checkCancelledin interfaceISVNCanceller- Overrides:
checkCancelledin classSVNBasicDelegate- Throws:
SVNCancelException- if the current operation was cancelled
-
getCopySource
protected SVNLocationEntry getCopySource(java.io.File path, SVNURL url, SVNRevision revision) throws SVNException - Throws:
SVNException
-
getLogsForMergeInfoRangeList
protected void getLogsForMergeInfoRangeList(SVNURL reposRootURL, java.lang.String[] paths, SVNMergeRangeList rangeList, boolean discoverChangedPaths, java.lang.String[] revProps, ISVNLogEntryHandler handler) throws SVNException - Throws:
SVNException
-
getMergeInfo
protected java.util.Map getMergeInfo(java.io.File path, SVNRevision pegRevision, SVNURL[] repositoryRoot) throws SVNException - Throws:
SVNException
-
getMergeInfo
protected java.util.Map getMergeInfo(SVNURL url, SVNRevision pegRevision, SVNURL[] repositoryRoot) throws SVNException - Throws:
SVNException
-
runPeggedMerge
protected void runPeggedMerge(SVNURL srcURL, java.io.File srcPath, java.util.Collection rangesToMerge, SVNRevision pegRevision, java.io.File targetWCPath, SVNDepth depth, boolean dryRun, boolean force, boolean ignoreAncestry, boolean recordOnly) throws SVNException - Throws:
SVNException
-
runMerge
protected void runMerge(SVNURL url1, SVNRevision revision1, SVNURL url2, SVNRevision revision2, java.io.File targetWCPath, SVNDepth depth, boolean dryRun, boolean force, boolean ignoreAncestry, boolean recordOnly) throws SVNException - Throws:
SVNException
-
runMergeReintegrate
protected void runMergeReintegrate(SVNURL srcURL, java.io.File srcPath, SVNRevision pegRevision, java.io.File targetWCPath, boolean dryRun) throws SVNException - Throws:
SVNException
-
doMerge
protected void doMerge(java.util.Map resultCatalog, java.util.List mergeSources, java.io.File target, SVNEntry targetEntry, SVNAdminArea adminArea, boolean sourcesAncestral, boolean sourcesRelated, boolean sameRepository, boolean ignoreAncestry, boolean force, boolean dryRun, boolean recordOnly, boolean reintegrateMerge, SVNDepth depth) throws SVNException - Throws:
SVNException
-
addPathWithNewMergeInfo
protected void addPathWithNewMergeInfo(java.io.File path) -
addPathWithDeletedMergeInfo
protected void addPathWithDeletedMergeInfo(java.io.File path) -
ensureRepository
- Throws:
SVNException
-
calculateRemainingRangeList
public java.lang.Object[] calculateRemainingRangeList(java.io.File targetFile, SVNEntry entry, SVNURL sourceRoot, boolean[] indirect, SVNURL url1, long revision1, SVNURL url2, long revision2, SVNMergeRange range) throws SVNException - Specified by:
calculateRemainingRangeListin interfaceISVNMergeStrategy- Throws:
SVNException
-
findGapsInMergeSourceHistory
protected void findGapsInMergeSourceHistory(long[] gap, java.lang.String mergeSrcCanonPath, SVNURL url1, long rev1, SVNURL url2, long rev2, SVNRepository repos) throws SVNException - Throws:
SVNException
-
doFileMerge
protected void doFileMerge(SVNURL url1, long revision1, SVNURL url2, long revision2, java.io.File targetWCPath, SVNAdminArea adminArea, boolean sourcesRelated) throws SVNException Deprecated.- Throws:
SVNException
-
doFileMerge
protected void doFileMerge(java.util.Map resultCatalog, SVNURL url1, long revision1, SVNURL url2, long revision2, java.io.File targetWCPath, SVNAdminArea adminArea, boolean sourcesRelated) throws SVNException - Throws:
SVNException
-
doMergeInfoUnawareDirectoryMerge
protected void doMergeInfoUnawareDirectoryMerge(SVNURL url1, long revision1, SVNURL url2, long revision2, SVNAdminArea adminArea, SVNDepth depth) throws SVNException - Throws:
SVNException
-
recordMergeInfoForDirectoryMerge
protected void recordMergeInfoForDirectoryMerge(java.util.Map resultCatalog, SVNEntry targetEntry, SVNMergeRange range, java.lang.String mergeInfoPath, SVNDepth depth) throws SVNException - Throws:
SVNException
-
recordMergeInfoForAddedSubtrees
protected void recordMergeInfoForAddedSubtrees(SVNMergeRange range, java.lang.String mergeInfoPath, SVNDepth depth) throws SVNException - Throws:
SVNException
-
doDirectoryMerge
protected void doDirectoryMerge(SVNURL url1, long revision1, SVNURL url2, long revision2, SVNEntry parentEntry, SVNAdminArea adminArea, SVNDepth depth) throws SVNException Deprecated.- Throws:
SVNException
-
doDirectoryMerge
protected void doDirectoryMerge(java.util.Map resultCatalog, SVNURL url1, long revision1, SVNURL url2, long revision2, SVNEntry parentEntry, SVNAdminArea adminArea, SVNDepth depth) throws SVNException - Throws:
SVNException
-
filterSelfReferentialMergeInfo
protected SVNProperties filterSelfReferentialMergeInfo(SVNProperties props, java.io.File path) throws SVNException - Throws:
SVNException
-
getLogClient
-
recordTreeConflict
protected void recordTreeConflict(java.io.File victim, SVNAdminArea adminArea, SVNNodeKind kind, SVNConflictAction action, SVNConflictReason reason) throws SVNException - Throws:
SVNException
-
recordTreeConflictOnAdd
protected void recordTreeConflictOnAdd(java.io.File victim, SVNAdminArea adminArea, SVNNodeKind kind, SVNConflictAction action, SVNConflictReason reason) throws SVNException - Throws:
SVNException
-
makeTreeConflict
protected SVNTreeConflictDescription makeTreeConflict(java.io.File victim, SVNNodeKind kind, SVNConflictAction action, SVNConflictReason reason) throws SVNException - Throws:
SVNException
-
getMergeCallback
-
processChildrenWithNewMergeInfo
- Throws:
SVNException
-
processChildrenWithDeletedMergeInfo
private void processChildrenWithDeletedMergeInfo() -
splitMergeInfoOnRevision
private java.util.Map splitMergeInfoOnRevision(java.util.Map[] mergeInfo, long revision) -
ensureWCReflectsRepositorySubTree
- Throws:
SVNException
-
ensureAllMissingRangesArePhantoms
private void ensureAllMissingRangesArePhantoms(SVNRepository repository, java.util.Map unmergedHistory) throws SVNException - Throws:
SVNException
-
findUnmergedMergeInfo
private java.util.Map findUnmergedMergeInfo(boolean[] neverSynched, long[] youngestMergedRev, long[] ycAncestorRev, java.util.Map srcCatalog, java.util.Map targetSegments, java.lang.String sourceReposPath, java.lang.String targetReposPath, long targetRev, long srcRev, SVNRepository sourceRepository, SVNRepository targetRepository) throws SVNException - Throws:
SVNException
-
calculateLeftHandSide
private java.util.Map calculateLeftHandSide(SVNURL[] leftURL, long[] leftRev, java.lang.String targetReposRelPath, java.util.Collection subTreesWithMergeInfo, long targetRev, java.lang.String sourceReposRelPath, SVNURL sourceReposRoot, long sourceRev, SVNRepository sourceRepository, SVNRepository targetRepository) throws SVNException - Throws:
SVNException
-
mergeRangeContainsRevision
- Throws:
SVNException
-
mergeCousinsAndSupplementMergeInfo
private void mergeCousinsAndSupplementMergeInfo(java.io.File targetWCPath, SVNEntry entry, SVNAdminArea adminArea, 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 - Throws:
SVNException
-
isSameRepository
public boolean isSameRepository() -
isHonorMergeInfo
protected boolean isHonorMergeInfo() -
isRecordMergeInfo
public boolean isRecordMergeInfo()- Specified by:
isRecordMergeInfoin interfaceISVNMergeStrategy
-
getCurrentMergeSource
-
normalizeMergeSources
private java.util.List normalizeMergeSources(java.io.File source, SVNURL sourceURL, SVNURL sourceRootURL, SVNRevision pegRevision, java.util.Collection rangesToMerge, SVNRepository repository) throws SVNException - Throws:
SVNException
-
combineRangeWithSegments
private java.util.List combineRangeWithSegments(SVNMergeRange range, SVNLocationSegment[] segments, SVNURL sourceRootURL) throws SVNException - Throws:
SVNException
-
getYoungestCommonAncestor
private SVNLocationEntry getYoungestCommonAncestor(java.io.File path1, SVNURL url1, long revision1, java.io.File path2, SVNURL url2, long revision2) throws SVNException - Throws:
SVNException
-
getFullMergeInfo
protected java.util.Map[] getFullMergeInfo(SVNEntry entry, boolean getRecorded, boolean getImplicit, boolean[] indirect, SVNMergeInfoInheritance inherit, SVNRepository repos, java.io.File target, long start, long end) throws SVNException - Throws:
SVNException
-
calculateImplicitMergeInfo
public java.util.Map calculateImplicitMergeInfo(SVNRepository repos, SVNURL url, long[] targetRev, long start, long end) throws SVNException - Specified by:
calculateImplicitMergeInfoin interfaceISVNMergeStrategy- Throws:
SVNException
-
findNearestAncestor
private int findNearestAncestor(java.lang.Object[] childrenWithMergeInfoArray, boolean pathIsOwnAncestor, java.io.File path) -
getHistoryAsMergeInfo
public java.util.Map getHistoryAsMergeInfo(SVNURL url, java.io.File path, SVNRevision pegRevision, long rangeYoungest, long rangeOldest, SVNRepository repos, SVNWCAccess access) throws SVNException - Throws:
SVNException
-
getMergeInfoFromSegments
public static java.util.Map<java.lang.String,SVNMergeRangeList> getMergeInfoFromSegments(java.util.Collection segments) -
removeAbsentChildren
private void removeAbsentChildren(java.io.File targetWCPath, java.util.List childrenWithMergeInfo) -
removeFirstRangeFromRemainingRanges
private void removeFirstRangeFromRemainingRanges(long endRevision, java.util.List childrenWithMergeInfo) -
removeNoOpMergeRanges
private SVNMergeRangeList removeNoOpMergeRanges(SVNRepository repository, SVNMergeRangeList ranges) throws SVNException - Throws:
SVNException
-
filterNaturalHistoryFromMergeInfo
private SVNMergeRangeList filterNaturalHistoryFromMergeInfo(java.lang.String srcPath, java.util.Map implicitMergeInfo, SVNMergeRange requestedRange) -
sliceRemainingRanges
private void sliceRemainingRanges(java.util.List childrenWithMergeInfo, boolean isRollBack, long endRevision) -
getMostInclusiveEndRevision
private long getMostInclusiveEndRevision(java.util.List childrenWithMergeInfo, boolean isRollBack) -
inheritImplicitMergeinfoFromParent
private void inheritImplicitMergeinfoFromParent(SVNMergeDriver.MergePath parent, SVNMergeDriver.MergePath child, long revision1, long revision2, SVNRepository repository) throws SVNException - Throws:
SVNException
-
ensureImplicitMergeinfo
private void ensureImplicitMergeinfo(SVNMergeDriver.MergePath parent, SVNMergeDriver.MergePath child, boolean childInheritsParent, SVNEntry entry, long revision1, long revision2, SVNRepository repository) throws SVNException - Throws:
SVNException
-
getMostInclusiveStartRevision
private long getMostInclusiveStartRevision(java.util.List childrenWithMergeInfo, boolean isRollBack) -
populateRemainingRanges
private void populateRemainingRanges(java.util.List childrenWithMergeInfo, SVNURL sourceRootURL, SVNURL url1, long revision1, SVNURL url2, long revision2, boolean honorMergeInfo, SVNRepository repository, java.lang.String parentMergeSrcCanonPath) throws SVNException - Throws:
SVNException
-
removeNoOpSubtreeRanges
private void removeNoOpSubtreeRanges(SVNURL url1, long revision1, SVNURL url2, long revision2, SVNRepository repository) throws SVNException - Throws:
SVNException
-
driveMergeReportEditor
public ISVNReusableEditor driveMergeReportEditor(java.io.File targetWCPath, SVNURL url1, long revision1, SVNURL url2, long revision2, java.util.List childrenWithMergeInfo, boolean isRollBack, SVNDepth depth, SVNAdminArea adminArea, SVNMergeCallback mergeCallback, ISVNReusableEditor editor) throws SVNException - Specified by:
driveMergeReportEditorin interfaceISVNMergeStrategy- Throws:
SVNException
-
getMergeReportEditor
public ISVNReusableEditor getMergeReportEditor(long defaultStart, long revision, SVNAdminArea adminArea, SVNDepth depth, AbstractDiffCallback mergeCallback, ISVNReusableEditor editor) throws SVNException - Specified by:
getMergeReportEditorin interfaceISVNMergeStrategy- Throws:
SVNException
-
makeMergeConflictError
-
getMergeInfoPaths
private java.util.List getMergeInfoPaths(java.util.List children, java.lang.String mergeSrcPath, SVNEntry entry, SVNURL sourceRootURL, long revision1, long revision2, boolean honorMergeInfo, SVNRepository repository, SVNDepth depth) throws SVNException - Throws:
SVNException
-
getMergeInfoEntryHandler
public ISVNEntryHandler getMergeInfoEntryHandler(java.lang.String mergeSrcPath, SVNURL sourceRootURL, long revision1, long revision2, SVNRepository repository, SVNDepth depth, java.util.List childrenWithMergeInfo) - Specified by:
getMergeInfoEntryHandlerin interfaceISVNMergeStrategy
-
notifySingleFileMerge
private boolean notifySingleFileMerge(java.io.File targetWCPath, SVNEventAction action, SVNStatusType cstate, SVNStatusType pstate, SVNEvent headerEvent, boolean isHeaderSent) throws SVNException - Throws:
SVNException
-
isOperativeNotification
-
calculateMergeInheritance
private void calculateMergeInheritance(SVNMergeRangeList rangeList, SVNEntry entry, boolean wcPathIsMergeTarget, boolean wcPathHasMissingChild, SVNDepth depth) -
recordSkips
private void recordSkips(java.lang.String mergeInfoPath, SVNEntry targetEntry, boolean isRollback) throws SVNException - Throws:
SVNException
-
updateWCMergeInfo
private void updateWCMergeInfo(java.util.Map resultCatalog, java.io.File targetPath, java.lang.String parentReposPath, SVNEntry entry, java.util.Map merges, boolean isRollBack) throws SVNException - Throws:
SVNException
-
calculateRemainingRanges
public void calculateRemainingRanges(SVNMergeDriver.MergePath parent, SVNMergeDriver.MergePath child, SVNURL sourceRootURL, SVNURL url1, long revision1, SVNURL url2, long revision2, java.util.Map targetMergeInfo, SVNMergeRangeList implicitSrcGap, boolean isSubtree, boolean childInheritsImplicit, SVNEntry entry, SVNRepository repository) throws SVNException - Throws:
SVNException
-
adjustDeletedSubTreeRanges
private void adjustDeletedSubTreeRanges(SVNMergeDriver.MergePath child, SVNMergeDriver.MergePath parent, long revision1, long revision2, SVNURL primaryURL, SVNRepository repository) throws SVNException - Throws:
SVNException
-
filterMergedRevisions
private void filterMergedRevisions(SVNMergeDriver.MergePath parent, SVNMergeDriver.MergePath child, SVNEntry entry, SVNRepository repository, java.lang.String mergeInfoPath, java.util.Map targetMergeInfo, long rev1, long rev2, boolean childInheritsImplicit) throws SVNException - Throws:
SVNException
-
loadFile
private java.io.File loadFile(SVNRepository repository, long revision, SVNProperties properties, SVNAdminArea adminArea) throws SVNException - Throws:
SVNException
-
computePropsDiff
-
filterProperties
public static SVNProperties filterProperties(SVNProperties props1, boolean leftRegular, boolean leftEntry, boolean leftWC) -
filterProperties
public static SVNProperties filterProperties(SVNProperties props1, boolean leftRegular, boolean leftEntry, boolean leftWC, boolean leftKeywords) -
fixDeletedSubtreeRanges
private void fixDeletedSubtreeRanges(SVNURL url1, long revision1, SVNURL url2, long revision2, SVNRepository repository) throws SVNException - Throws:
SVNException
-
SVNDiffClient.doGetLogEligibleMergeInfo(File, SVNRevision, File, SVNRevision, boolean, String[], ISVNLogEntryHandler)instead