Class SVNCopyDriver
- java.lang.Object
-
- org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate
-
- org.tmatesoft.svn.core.internal.wc.SVNCopyDriver
-
- All Implemented Interfaces:
ISVNCanceller
,ISVNEventHandler
- Direct Known Subclasses:
SVNCopyClient16
,SVNMoveClient16
public class SVNCopyDriver extends SVNBasicDelegate
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
SVNCopyDriver.CopyCommitPathHandler
private static class
SVNCopyDriver.CopyPair
private static class
SVNCopyDriver.CopyPathInfo
-
Nested classes/interfaces inherited from class org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate
SVNBasicDelegate.RepositoryReference, SVNBasicDelegate.SVNRepositoryLocation
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
myIsDisableLocalModificationsCopying
private SVNWCAccess
myWCAccess
-
Fields inherited from interface org.tmatesoft.svn.core.ISVNCanceller
NULL
-
Fields inherited from interface org.tmatesoft.svn.core.wc.ISVNEventHandler
UNKNOWN
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
SVNCopyDriver(ISVNAuthenticationManager authManager, ISVNOptions options)
protected
SVNCopyDriver(ISVNRepositoryPool repositoryPool, ISVNOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addLocalParents(java.io.File path, ISVNEventHandler handler)
private java.util.Map
calculateTargetMergeInfo(java.io.File srcFile, SVNWCAccess access, SVNURL srcURL, long srcRevision, SVNRepository repository, boolean noReposAccess)
private void
close(SVNWCAccess access)
private void
copyAddedDirAdm(java.io.File src, SVNWCAccess srcAccess, java.io.File dstParent, SVNWCAccess dstParentAccess, java.lang.String dstName, boolean isAdded)
private void
copyAddedFileAdm(java.io.File src, SVNWCAccess srcAccess, SVNWCAccess dstAccess, java.io.File dstParent, java.lang.String dstName, boolean isAdded)
private void
copyDirAdm(java.io.File src, SVNWCAccess srcAccess, SVNWCAccess dstAccess, java.io.File dstParent, java.lang.String dstName)
private void
copyDisjointDir(java.io.File nestedWC, SVNWCAccess parentAccess, java.io.File nestedWCParent)
protected void
copyDisjointWCToWC(java.io.File nestedWC)
private void
copyFileAdm(java.io.File src, SVNWCAccess srcAccess, java.io.File dstParent, SVNWCAccess dstAccess, java.lang.String dstName, boolean move)
private void
copyFiles(java.io.File src, java.io.File dstParent, SVNWCAccess dstAccess, java.lang.String dstName, boolean move)
private void
copyProps(java.io.File src, java.io.File dst, SVNWCAccess srcAccess, SVNWCAccess dstAccess)
private SVNCommitInfo
copyReposToRepos(java.util.List copyPairs, boolean makeParents, boolean isMove, boolean pinExternals, java.util.Map<SvnTarget,java.util.List<SVNExternal>> externalsToPin, java.lang.String message, SVNProperties revprops, ISVNCommitHandler commitHandler)
private void
copyReposToWC(java.util.List copyPairs, boolean makeParents)
private void
copyReposToWC(SVNCopyDriver.CopyPair pair, boolean sameRepositories, SVNRepository topSrcRepos, SVNWCAccess dstAccess)
private SVNCommitInfo
copyWCToRepos(java.util.List copyPairs, boolean makeParents, java.lang.String message, SVNProperties revprops, ISVNCommitHandler commitHandler, ISVNCommitParameters commitParameters, ISVNExternalsHandler externalsHandler)
private void
copyWCToWC(java.util.List pairs)
private void
copyWCToWC(java.util.List copyPairs, boolean isMove, boolean makeParents)
private SVNLocationEntry
determineCopyFromInfo(java.io.File src, SVNWCAccess srcAccess, SVNEntry srcEntry, SVNEntry dstEntry)
protected SVNCopySource[]
expandCopySources(SVNCopySource[] sources)
private void
extendWCMergeInfo(java.io.File path, SVNEntry entry, java.util.Map mergeInfo, SVNWCAccess access)
private SVNLocationEntry
getCopyFromInfoFromParent(java.io.File file, SVNWCAccess access)
private java.lang.String
getUUIDFromPath(SVNWCAccess wcAccess, java.io.File path)
private SVNWCAccess
getWCAccess()
private void
moveWCToWC(java.util.List pairs)
private SVNAdminArea
open(SVNWCAccess access, java.io.File path, boolean writeLock, boolean stealLock, int depth)
private static void
postCopyCleanup(SVNAdminArea dir)
private SVNAdminArea
probeOpen(SVNWCAccess access, java.io.File path, boolean writeLock, int depth)
private void
queueExternalsChangePathInfos(java.util.List<SVNCopyDriver.CopyPathInfo> newPathInfos, java.util.List<SVNCopyDriver.CopyPathInfo> pathInfos, java.util.Map<java.lang.String,SVNPropertyValue> pinnedExternals, SVNCopyDriver.CopyPathInfo parentInfo)
void
setDisableLocalModificationCopying(boolean disable)
protected SVNCommitInfo
setupCopy(SVNCopySource[] sources, SVNPath dst, boolean isMove, boolean makeParents, boolean pinExternals, java.util.Map<SvnTarget,java.util.List<SVNExternal>> externalsToPin, java.lang.String message, SVNProperties revprops, ISVNCommitHandler commitHandler, ISVNCommitParameters commitParameters, ISVNExternalsHandler externalsHandler)
protected void
setWCAccess(SVNWCAccess access)
-
Methods inherited from class org.tmatesoft.svn.core.internal.wc16.SVNBasicDelegate
checkCancelled, 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, handleEvent, handlePathListItem, isIgnoreExternals, isLeaveConflictsUnresolved, resolveRevisions, setCommitItemAccess, setCommitItemFlags, setCommitItemProperty, setDebugLog, setEventHandler, setEventPathPrefix, setIgnoreExternals, setLeaveConflictsUnresolved, setOptions, setPathListHandler, sleepForTimeStamp
-
-
-
-
Field Detail
-
myWCAccess
private SVNWCAccess myWCAccess
-
myIsDisableLocalModificationsCopying
private boolean myIsDisableLocalModificationsCopying
-
-
Constructor Detail
-
SVNCopyDriver
protected SVNCopyDriver(ISVNAuthenticationManager authManager, ISVNOptions options)
-
SVNCopyDriver
protected SVNCopyDriver(ISVNRepositoryPool repositoryPool, ISVNOptions options)
-
-
Method Detail
-
setDisableLocalModificationCopying
public void setDisableLocalModificationCopying(boolean disable)
-
setWCAccess
protected void setWCAccess(SVNWCAccess access)
-
getWCAccess
private SVNWCAccess getWCAccess()
-
probeOpen
private SVNAdminArea probeOpen(SVNWCAccess access, java.io.File path, boolean writeLock, int depth) throws SVNException
- Throws:
SVNException
-
open
private SVNAdminArea open(SVNWCAccess access, java.io.File path, boolean writeLock, boolean stealLock, int depth) throws SVNException
- Throws:
SVNException
-
close
private void close(SVNWCAccess access) throws SVNException
- Throws:
SVNException
-
expandCopySources
protected SVNCopySource[] expandCopySources(SVNCopySource[] sources) throws SVNException
- Throws:
SVNException
-
copyReposToRepos
private SVNCommitInfo copyReposToRepos(java.util.List copyPairs, boolean makeParents, boolean isMove, boolean pinExternals, java.util.Map<SvnTarget,java.util.List<SVNExternal>> externalsToPin, java.lang.String message, SVNProperties revprops, ISVNCommitHandler commitHandler) throws SVNException
- Throws:
SVNException
-
queueExternalsChangePathInfos
private void queueExternalsChangePathInfos(java.util.List<SVNCopyDriver.CopyPathInfo> newPathInfos, java.util.List<SVNCopyDriver.CopyPathInfo> pathInfos, java.util.Map<java.lang.String,SVNPropertyValue> pinnedExternals, SVNCopyDriver.CopyPathInfo parentInfo) throws SVNException
- Throws:
SVNException
-
getUUIDFromPath
private java.lang.String getUUIDFromPath(SVNWCAccess wcAccess, java.io.File path) throws SVNException
- Throws:
SVNException
-
postCopyCleanup
private static void postCopyCleanup(SVNAdminArea dir) throws SVNException
- Throws:
SVNException
-
setupCopy
protected SVNCommitInfo setupCopy(SVNCopySource[] sources, SVNPath dst, boolean isMove, boolean makeParents, boolean pinExternals, java.util.Map<SvnTarget,java.util.List<SVNExternal>> externalsToPin, java.lang.String message, SVNProperties revprops, ISVNCommitHandler commitHandler, ISVNCommitParameters commitParameters, ISVNExternalsHandler externalsHandler) throws SVNException
- Throws:
SVNException
-
copyWCToRepos
private SVNCommitInfo copyWCToRepos(java.util.List copyPairs, boolean makeParents, java.lang.String message, SVNProperties revprops, ISVNCommitHandler commitHandler, ISVNCommitParameters commitParameters, ISVNExternalsHandler externalsHandler) throws SVNException
- Throws:
SVNException
-
copyReposToWC
private void copyReposToWC(java.util.List copyPairs, boolean makeParents) throws SVNException
- Throws:
SVNException
-
copyReposToWC
private void copyReposToWC(SVNCopyDriver.CopyPair pair, boolean sameRepositories, SVNRepository topSrcRepos, SVNWCAccess dstAccess) throws SVNException
- Throws:
SVNException
-
copyWCToWC
private void copyWCToWC(java.util.List copyPairs, boolean isMove, boolean makeParents) throws SVNException
- Throws:
SVNException
-
copyDisjointWCToWC
protected void copyDisjointWCToWC(java.io.File nestedWC) throws SVNException
- Throws:
SVNException
-
copyDisjointDir
private void copyDisjointDir(java.io.File nestedWC, SVNWCAccess parentAccess, java.io.File nestedWCParent) throws SVNException
- Throws:
SVNException
-
copyWCToWC
private void copyWCToWC(java.util.List pairs) throws SVNException
- Throws:
SVNException
-
moveWCToWC
private void moveWCToWC(java.util.List pairs) throws SVNException
- Throws:
SVNException
-
copyFiles
private void copyFiles(java.io.File src, java.io.File dstParent, SVNWCAccess dstAccess, java.lang.String dstName, boolean move) throws SVNException
- Throws:
SVNException
-
copyFileAdm
private void copyFileAdm(java.io.File src, SVNWCAccess srcAccess, java.io.File dstParent, SVNWCAccess dstAccess, java.lang.String dstName, boolean move) throws SVNException
- Throws:
SVNException
-
copyAddedFileAdm
private void copyAddedFileAdm(java.io.File src, SVNWCAccess srcAccess, SVNWCAccess dstAccess, java.io.File dstParent, java.lang.String dstName, boolean isAdded) throws SVNException
- Throws:
SVNException
-
copyDirAdm
private void copyDirAdm(java.io.File src, SVNWCAccess srcAccess, SVNWCAccess dstAccess, java.io.File dstParent, java.lang.String dstName) throws SVNException
- Throws:
SVNException
-
copyAddedDirAdm
private void copyAddedDirAdm(java.io.File src, SVNWCAccess srcAccess, java.io.File dstParent, SVNWCAccess dstParentAccess, java.lang.String dstName, boolean isAdded) throws SVNException
- Throws:
SVNException
-
copyProps
private void copyProps(java.io.File src, java.io.File dst, SVNWCAccess srcAccess, SVNWCAccess dstAccess) throws SVNException
- Throws:
SVNException
-
determineCopyFromInfo
private SVNLocationEntry determineCopyFromInfo(java.io.File src, SVNWCAccess srcAccess, SVNEntry srcEntry, SVNEntry dstEntry) throws SVNException
- Throws:
SVNException
-
getCopyFromInfoFromParent
private SVNLocationEntry getCopyFromInfoFromParent(java.io.File file, SVNWCAccess access) throws SVNException
- Throws:
SVNException
-
addLocalParents
private void addLocalParents(java.io.File path, ISVNEventHandler handler) throws SVNException
- Throws:
SVNException
-
extendWCMergeInfo
private void extendWCMergeInfo(java.io.File path, SVNEntry entry, java.util.Map mergeInfo, SVNWCAccess access) throws SVNException
- Throws:
SVNException
-
calculateTargetMergeInfo
private java.util.Map calculateTargetMergeInfo(java.io.File srcFile, SVNWCAccess access, SVNURL srcURL, long srcRevision, SVNRepository repository, boolean noReposAccess) throws SVNException
- Throws:
SVNException
-
-