Class SvnNgMergeCallback2
- java.lang.Object
-
- org.tmatesoft.svn.core.internal.wc2.ng.SvnNgMergeCallback2
-
- All Implemented Interfaces:
ISvnDiffCallback2
public class SvnNgMergeCallback2 extends java.lang.Object implements ISvnDiffCallback2
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
SvnNgMergeCallback2.DirectoryBaton
private static class
SvnNgMergeCallback2.DirectoryDeleteBaton
private class
SvnNgMergeCallback2.FileBaton
private static class
SvnNgMergeCallback2.MergeOutcome
private static class
SvnNgMergeCallback2.SplitMergeInfo
private static class
SvnNgMergeCallback2.VerifyTouchedByDelCheck
-
Field Summary
Fields Modifier and Type Field Description private SVNWCContext
context
private SvnNgMergeCallback2.FileBaton
currentFile
private SvnNgMergeDriver
mergeDriver
private SvnNgRepositoryAccess
repositoryAccess
-
Constructor Summary
Constructors Constructor Description SvnNgMergeCallback2(SVNWCContext context, SvnNgMergeDriver mergeDriver, SvnNgRepositoryAccess repositoryAccess)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
areFilesSame(java.io.File olderAbsPath, SVNProperties originalProps, java.io.File mineAbsPath)
private boolean
arePropertiesSame(SVNProperties originalProps, SVNProperties workingProps)
private void
checkReposMatch(SVNURL reposRootUrl, java.io.File localAbsPath, SVNURL url)
private void
completeDirectoryAdd(java.io.File localAbsPath, SVNProperties newOriginalProps, SVNURL copyFromUrl, long copyFromRevision)
void
dirAdded(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource copyFromSource, SvnDiffSource rightSource, SVNProperties copyFromProps, SVNProperties rightProps, java.lang.Object dirBaton)
void
dirChanged(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource, SVNProperties leftProps, SVNProperties rightProps, SVNProperties propChanges, java.lang.Object dirBaton)
void
dirClosed(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource, java.lang.Object dirBaton)
void
dirDeleted(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SVNProperties leftProps, java.lang.Object dirBaton)
void
dirOpened(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource, SvnDiffSource copyFromSource, java.lang.Object dirBaton)
void
dirPropsChanged(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource, SVNProperties leftProps, SVNProperties rightProps, SVNProperties propChanges)
void
fileAdded(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource copyFromSource, SvnDiffSource rightSource, java.io.File copyFromFile, java.io.File rightFile, SVNProperties copyFromProps, SVNProperties rightProps)
void
fileChanged(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource, java.io.File leftFile, java.io.File rightFile, SVNProperties leftProps, SVNProperties rightProps, boolean fileModified, SVNProperties propChanges)
void
fileClosed(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource)
void
fileDeleted(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, java.io.File leftFile, SVNProperties leftProps)
void
fileOpened(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource, SvnDiffSource copyFromSource, boolean createDirBaton, java.lang.Object dirBaton)
private SVNProperties
filterSelfReferentialMergeInfo(SVNProperties props, java.io.File targetAbsPath, SVNRepository svnRepository)
private void
handlePendingNotifications(SvnNgMergeCallback2.DirectoryBaton db)
private SVNConflictVersion[]
makeConflictVersions(java.io.File victimAbsPath, SVNNodeKind nodeKind, SVNURL rootUrl, SvnNgMergeDriver.MergeSource mergeSource, java.io.File targetAbsPath)
private SvnNgMergeCallback2.MergeOutcome
merge(java.io.File leftAbsPath, java.io.File rightAbsPath, java.io.File targetAbsPath, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean dryRun, java.lang.String diff3Cmd, SVNDiffOptions mergeOptions, SVNProperties originalProps, SVNProperties propChanges, boolean mergeContentNeeded, boolean mergePropsNeeded, ISVNConflictHandler conflictResolver)
void
nodeAbsent(SvnDiffCallbackResult result, java.io.File relPath, java.lang.Object dirBaton)
private void
notifyMergeBegin(java.io.File localAbsPath, boolean deleteAction)
private SVNWCContext.ObstructionData
performObstructionCheck(java.io.File localAbsPath)
private SVNProperties
prepareMergePropsChanged(java.io.File localAbsPath, SVNProperties propChanges)
private void
recordSkip(java.io.File localAbsPath, SVNNodeKind kind, SVNEventAction action, SVNStatusType state)
private void
recordTreeConflict(java.io.File localAbsPath, SvnNgMergeCallback2.DirectoryBaton parentBaton, SVNNodeKind nodeKind, SVNConflictAction action, SVNConflictReason reason, SVNWCConflictDescription17 existingConflict, boolean notifyTreeConflict)
private void
recordUpdateAdd(java.io.File localAbsPath, SVNNodeKind kind, boolean notifyReplaced)
private void
recordUpdateDelete(java.io.File localAbsPath, SVNNodeKind kind, SvnNgMergeCallback2.DirectoryBaton parentBaton)
private void
recordUpdateUpdate(java.io.File localAbsPath, SVNNodeKind kind, SVNStatusType contentState, SVNStatusType propState)
private void
removeSourceGap(SVNMergeRange range, SVNMergeRangeList implicitSrcGap)
private SVNURL
reposLocations(SVNURL url, long pegRevision, SVNURL reposRootUrl, java.lang.String reposUuid, long opRevision, SVNRepository svnRepository)
private SvnNgMergeCallback2.SplitMergeInfo
splitMergeInfoOnRevision(java.util.Map<java.lang.String,SVNMergeRangeList> mergeInfo, long revision)
-
-
-
Field Detail
-
mergeDriver
private final SvnNgMergeDriver mergeDriver
-
currentFile
private SvnNgMergeCallback2.FileBaton currentFile
-
context
private SVNWCContext context
-
repositoryAccess
private SvnNgRepositoryAccess repositoryAccess
-
-
Constructor Detail
-
SvnNgMergeCallback2
public SvnNgMergeCallback2(SVNWCContext context, SvnNgMergeDriver mergeDriver, SvnNgRepositoryAccess repositoryAccess)
-
-
Method Detail
-
fileOpened
public void fileOpened(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource, SvnDiffSource copyFromSource, boolean createDirBaton, java.lang.Object dirBaton) throws SVNException
- Specified by:
fileOpened
in interfaceISvnDiffCallback2
- Throws:
SVNException
-
fileChanged
public void fileChanged(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource, java.io.File leftFile, java.io.File rightFile, SVNProperties leftProps, SVNProperties rightProps, boolean fileModified, SVNProperties propChanges) throws SVNException
- Specified by:
fileChanged
in interfaceISvnDiffCallback2
- Throws:
SVNException
-
fileAdded
public void fileAdded(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource copyFromSource, SvnDiffSource rightSource, java.io.File copyFromFile, java.io.File rightFile, SVNProperties copyFromProps, SVNProperties rightProps) throws SVNException
- Specified by:
fileAdded
in interfaceISvnDiffCallback2
- Throws:
SVNException
-
fileDeleted
public void fileDeleted(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, java.io.File leftFile, SVNProperties leftProps) throws SVNException
- Specified by:
fileDeleted
in interfaceISvnDiffCallback2
- Throws:
SVNException
-
fileClosed
public void fileClosed(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource) throws SVNException
- Specified by:
fileClosed
in interfaceISvnDiffCallback2
- Throws:
SVNException
-
dirOpened
public void dirOpened(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource, SvnDiffSource copyFromSource, java.lang.Object dirBaton) throws SVNException
- Specified by:
dirOpened
in interfaceISvnDiffCallback2
- Throws:
SVNException
-
dirChanged
public void dirChanged(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource, SVNProperties leftProps, SVNProperties rightProps, SVNProperties propChanges, java.lang.Object dirBaton) throws SVNException
- Specified by:
dirChanged
in interfaceISvnDiffCallback2
- Throws:
SVNException
-
dirDeleted
public void dirDeleted(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SVNProperties leftProps, java.lang.Object dirBaton) throws SVNException
- Specified by:
dirDeleted
in interfaceISvnDiffCallback2
- Throws:
SVNException
-
dirAdded
public void dirAdded(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource copyFromSource, SvnDiffSource rightSource, SVNProperties copyFromProps, SVNProperties rightProps, java.lang.Object dirBaton) throws SVNException
- Specified by:
dirAdded
in interfaceISvnDiffCallback2
- Throws:
SVNException
-
dirPropsChanged
public void dirPropsChanged(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource, SVNProperties leftProps, SVNProperties rightProps, SVNProperties propChanges) throws SVNException
- Throws:
SVNException
-
dirClosed
public void dirClosed(SvnDiffCallbackResult result, java.io.File relPath, SvnDiffSource leftSource, SvnDiffSource rightSource, java.lang.Object dirBaton) throws SVNException
- Specified by:
dirClosed
in interfaceISvnDiffCallback2
- Throws:
SVNException
-
nodeAbsent
public void nodeAbsent(SvnDiffCallbackResult result, java.io.File relPath, java.lang.Object dirBaton) throws SVNException
- Specified by:
nodeAbsent
in interfaceISvnDiffCallback2
- Throws:
SVNException
-
handlePendingNotifications
private void handlePendingNotifications(SvnNgMergeCallback2.DirectoryBaton db) throws SVNException
- Throws:
SVNException
-
merge
private SvnNgMergeCallback2.MergeOutcome merge(java.io.File leftAbsPath, java.io.File rightAbsPath, java.io.File targetAbsPath, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean dryRun, java.lang.String diff3Cmd, SVNDiffOptions mergeOptions, SVNProperties originalProps, SVNProperties propChanges, boolean mergeContentNeeded, boolean mergePropsNeeded, ISVNConflictHandler conflictResolver) throws SVNException
- Throws:
SVNException
-
recordUpdateUpdate
private void recordUpdateUpdate(java.io.File localAbsPath, SVNNodeKind kind, SVNStatusType contentState, SVNStatusType propState) throws SVNException
- Throws:
SVNException
-
recordUpdateAdd
private void recordUpdateAdd(java.io.File localAbsPath, SVNNodeKind kind, boolean notifyReplaced) throws SVNException
- Throws:
SVNException
-
recordUpdateDelete
private void recordUpdateDelete(java.io.File localAbsPath, SVNNodeKind kind, SvnNgMergeCallback2.DirectoryBaton parentBaton) throws SVNException
- Throws:
SVNException
-
notifyMergeBegin
private void notifyMergeBegin(java.io.File localAbsPath, boolean deleteAction) throws SVNException
- Throws:
SVNException
-
checkReposMatch
private void checkReposMatch(SVNURL reposRootUrl, java.io.File localAbsPath, SVNURL url) throws SVNException
- Throws:
SVNException
-
removeSourceGap
private void removeSourceGap(SVNMergeRange range, SVNMergeRangeList implicitSrcGap)
-
prepareMergePropsChanged
private SVNProperties prepareMergePropsChanged(java.io.File localAbsPath, SVNProperties propChanges) throws SVNException
- Throws:
SVNException
-
makeConflictVersions
private SVNConflictVersion[] makeConflictVersions(java.io.File victimAbsPath, SVNNodeKind nodeKind, SVNURL rootUrl, SvnNgMergeDriver.MergeSource mergeSource, java.io.File targetAbsPath)
-
recordSkip
private void recordSkip(java.io.File localAbsPath, SVNNodeKind kind, SVNEventAction action, SVNStatusType state) throws SVNException
- Throws:
SVNException
-
performObstructionCheck
private SVNWCContext.ObstructionData performObstructionCheck(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
recordTreeConflict
private void recordTreeConflict(java.io.File localAbsPath, SvnNgMergeCallback2.DirectoryBaton parentBaton, SVNNodeKind nodeKind, SVNConflictAction action, SVNConflictReason reason, SVNWCConflictDescription17 existingConflict, boolean notifyTreeConflict) throws SVNException
- Throws:
SVNException
-
filterSelfReferentialMergeInfo
private SVNProperties filterSelfReferentialMergeInfo(SVNProperties props, java.io.File targetAbsPath, SVNRepository svnRepository) throws SVNException
- Throws:
SVNException
-
reposLocations
private SVNURL reposLocations(SVNURL url, long pegRevision, SVNURL reposRootUrl, java.lang.String reposUuid, long opRevision, SVNRepository svnRepository) throws SVNException
- Throws:
SVNException
-
splitMergeInfoOnRevision
private SvnNgMergeCallback2.SplitMergeInfo splitMergeInfoOnRevision(java.util.Map<java.lang.String,SVNMergeRangeList> mergeInfo, long revision)
-
areFilesSame
private boolean areFilesSame(java.io.File olderAbsPath, SVNProperties originalProps, java.io.File mineAbsPath) throws SVNException
- Throws:
SVNException
-
arePropertiesSame
private boolean arePropertiesSame(SVNProperties originalProps, SVNProperties workingProps)
-
completeDirectoryAdd
private void completeDirectoryAdd(java.io.File localAbsPath, SVNProperties newOriginalProps, SVNURL copyFromUrl, long copyFromRevision) throws SVNException
- Throws:
SVNException
-
-