Class SVNWCContext
- java.lang.Object
-
- org.tmatesoft.svn.core.internal.wc17.SVNWCContext
-
public class SVNWCContext extends java.lang.Object
- Version:
- 1.4
-
-
Nested Class Summary
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<SVNWCContext.CleanupHandler>
cleanupHandlers
private boolean
closeDb
static byte[]
CONFLICT_END
static java.lang.String
CONFLICT_KIND_OBSTRUCTED
static java.lang.String
CONFLICT_KIND_PROP
static java.lang.String
CONFLICT_KIND_REJECT
static java.lang.String
CONFLICT_KIND_TEXT
static java.lang.String
CONFLICT_KIND_TREE
static java.lang.String
CONFLICT_LATEST_LABEL
static java.lang.String
CONFLICT_LOCAL_LABEL
static java.lang.String
CONFLICT_OP_MERGE
static java.lang.String
CONFLICT_OP_PATCH
static java.lang.String
CONFLICT_OP_SWITCH
static java.lang.String
CONFLICT_OP_UPDATE
static byte[]
CONFLICT_SEPARATOR
static byte[]
CONFLICT_START
private ISVNWCDb
db
private java.util.Stack<ISVNEventHandler>
eventHandler
static long
INVALID_REVNUM
private SvnOperation<?>
operation
static java.lang.String
PROP_REJ_EXT
private static java.util.List<SVNStatusType>
STATUS_ORDERING
static int
STREAM_CHUNK_SIZE
static java.lang.String
THIS_DIR_PREJ
static java.lang.String
WC_ADM_ENTRIES
static java.lang.String
WC_ADM_FORMAT
static java.lang.String
WC_ADM_NONEXISTENT_PATH
static java.lang.String
WC_ADM_PRISTINE
static java.lang.String
WC_ADM_TMP
static int
WC_NG_VERSION
static java.lang.String
WC_NON_ENTRIES_STRING
static int
WC_WCPROPS_LOST
static int
WC_WCPROPS_MANY_FILES_VERSION
private static java.lang.String
WC17_SUPPORT_ENABLED_PROPERTY
-
Constructor Summary
Constructors Constructor Description SVNWCContext(ISVNWCDb.SVNWCDbOpenMode mode, ISVNOptions config, boolean autoUpgrade, boolean enforceEmptyWQ, ISVNEventHandler eventHandler)
SVNWCContext(ISVNWCDb db, ISVNEventHandler eventHandler)
SVNWCContext(ISVNOptions config, ISVNEventHandler eventHandler)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.io.File
acquireWriteLock(java.io.File localAbspath, boolean lockAnchor, boolean returnLockRoot)
java.io.File
acquireWriteLockForResolve(java.io.File localAbsPath)
void
addTreeConflict(SVNWCConflictDescription17 conflict)
private void
appendPropConflict(java.io.OutputStream stream, SVNSkel propSkel)
private SVNWCContext.MergePropStatusInfo
applySingleGenericPropChange(SVNPropertyValue resultVal, boolean didMerge, SVNPropertyValue oldVal, SVNPropertyValue newVal, SVNPropertyValue workingVal)
private SVNWCContext.MergePropStatusInfo
applySingleGenericPropChange(SVNStatusType state, java.io.File localAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean isDir, SVNProperties workingProps, java.lang.String propname, SVNPropertyValue baseVal, SVNPropertyValue oldVal, SVNPropertyValue newVal, ISVNConflictHandler conflictResolver, boolean dryRun)
private SVNWCContext.MergePropStatusInfo
applySingleMergeinfoPropChange(SVNStatusType state, java.io.File localAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean isDir, SVNProperties workingProps, java.lang.String propname, SVNPropertyValue baseVal, SVNPropertyValue oldVal, SVNPropertyValue newVal, ISVNConflictHandler conflictResolver, boolean dryRun)
private SVNWCContext.MergePropStatusInfo
applySingleMergeInfoPropChange(SVNPropertyValue resultVal, boolean didMerge, SVNPropertyValue baseVal, SVNPropertyValue oldVal, SVNPropertyValue newVal, SVNPropertyValue workingVal)
(package private) SVNWCContext.MergePropStatusInfo
applySinglePropAdd(SVNPropertyValue resultVal, boolean didMerge, java.lang.String propName, SVNPropertyValue pristineVal, SVNPropertyValue newVal, SVNPropertyValue workingVal)
(package private) SVNWCContext.MergePropStatusInfo
applySinglePropAdd(SVNStatusType state, java.io.File localAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean isDir, SVNProperties workingProps, java.lang.String propname, SVNPropertyValue baseVal, SVNPropertyValue toVal, ISVNConflictHandler conflictResolver, boolean dryRun)
(package private) SVNWCContext.MergePropStatusInfo
applySinglePropChange(SVNPropertyValue resultVal, boolean didMerge, java.lang.String propName, SVNPropertyValue baseVal, SVNPropertyValue oldVal, SVNPropertyValue newVal, SVNPropertyValue workingVal)
(package private) SVNWCContext.MergePropStatusInfo
applySinglePropChange(SVNStatusType state, java.io.File localAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean isDir, SVNProperties workingProps, java.lang.String propname, SVNPropertyValue baseVal, SVNPropertyValue oldVal, SVNPropertyValue newVal, ISVNConflictHandler conflictResolver, boolean dryRun)
(package private) SVNWCContext.MergePropStatusInfo
applySinglePropDelete(SVNPropertyValue resultVal, boolean didMerge, SVNPropertyValue baseVal, SVNPropertyValue oldVal, SVNPropertyValue workingVal)
(package private) SVNWCContext.MergePropStatusInfo
applySinglePropDelete(SVNStatusType state, java.io.File localAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean isDir, SVNProperties workingProps, java.lang.String propname, SVNPropertyValue baseVal, SVNPropertyValue oldVal, ISVNConflictHandler conflictResolver, boolean dryRun)
private static boolean
arePropsEqual(SVNPropertyValue propertyValue1, SVNPropertyValue propertyValue2)
private boolean
arraysEqual(byte[] array1, byte[] array2, int size)
private boolean
attemptDeletion(java.io.File parentDir, java.io.File baseName)
private SVNWCContext.MergeInfo
attemptTrivialMerge(SVNWCContext.MergeInfo info, java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.io.File detranslatedTargetAbspath, boolean dryRun)
void
canonicalizeURLs(java.io.File path, SVNExternalsStore externalsStore, boolean omitDefaultPort)
void
checkCancelled()
SVNWCContext.ObstructionData
checkForObstructions(java.io.File localAbsPath, boolean noWcRootCheck)
static SVNWCContext.CheckSpecialInfo
checkSpecialPath(java.io.File localAbspath)
int
checkWC(java.io.File localAbsPath)
private int
checkWC(java.io.File localAbsPath, boolean check)
SVNWCContext.CheckWCRootInfo
checkWCRoot(java.io.File localAbspath, boolean fetchSwitched)
void
cleanup()
void
close()
private SVNPropertyValue
combineForkedMergeInfoProps(SVNPropertyValue fromPropVal, SVNPropertyValue workingPropVal, SVNPropertyValue toPropVal)
java.util.List<SVNWCContext.CommittableExternalInfo>
committableExternalsBelow(java.util.List<SVNWCContext.CommittableExternalInfo> externals, java.io.File localAbsPath, SVNDepth depth)
boolean
compareAndVerify(java.io.File localAbsPath, java.io.File pristineFile, boolean hasProps, boolean propMods, boolean exactComparison)
SVNSkel
conflictCreateMarker(SVNSkel conflictSkel, java.io.File localAbsPath)
(package private) void
conflictSkelAddPropConflict(SVNSkel skel, java.lang.String propName, SVNPropertyValue baseVal, SVNPropertyValue mineVal, SVNPropertyValue toVal, SVNPropertyValue fromVal)
private SVNNodeKind
convertDbKindToNodeKind(SVNNodeKind dbKind, ISVNWCDb.SVNWCDbStatus dbStatus, boolean showHidden)
private ISvnMerger
createCustomMerger()
private DefaultSvnMerger
createDefaultMerger()
java.io.File
createPrejFile(java.io.File localAbspath, SVNSkel conflictSkel)
private void
cropChildren(java.io.File localAbspath, SVNDepth depth)
void
cropTree(java.io.File localAbspath, SVNDepth depth)
void
deleteTreeConflict(java.io.File victimAbsPath)
private void
destroyAdm(java.io.File dirAbspath)
private java.io.File
detranslateWCFile(java.io.File targetAbspath, boolean forceCopy, SVNProperties oldActualProps, SVNProperties propDiff, java.io.File sourceAbspath)
private void
dispatchWorkItem(java.io.File wcRootAbspath, SVNSkel workItem)
private boolean
doTextMerge(ISvnMerger customMerger, java.io.File resultFile, java.io.File targetAbsPath, java.io.File detranslatedTargetAbspath, java.io.File leftAbspath, java.io.File rightAbspath, java.lang.String targetLabel, java.lang.String leftLabel, java.lang.String rightLabel, SVNDiffOptions options, SVNDiffConflictChoiceStyle style)
void
ensureNoUnfinishedTransactions()
private SVNWCContext.MergeInfo
evalConflictResolverResult(SVNConflictChoice choice, java.io.File wriAbspath, java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.io.File copyfromText, java.io.File mergedFile, java.io.File detranslatedTarget, SVNDiffOptions options)
private SVNWCContext.TextConflictResolutionInfo
evalTextConflictFuncResult(java.io.File localAbsPath, SVNConflictChoice choice, java.io.File leftAbsPath, java.io.File rightAbsPath, java.io.File mergedAbsPath, java.io.File detranslatedTarget)
void
exclude(java.io.File localAbspath)
private java.util.Map<java.lang.String,byte[]>
expandKeywords(java.io.File localAbsPath, java.io.File wriAbspath, java.lang.String keywordsList, boolean forNormalization)
private java.lang.String
generateConflictMessage(java.lang.String propname, SVNPropertyValue original, SVNPropertyValue mine, SVNPropertyValue incoming, SVNPropertyValue incomingBase)
private boolean
generatePropConflict(java.io.File localAbsPath, SVNOperation operation, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, java.lang.String propName, SVNPropertyValue baseVal, SVNPropertyValue workingVal, SVNPropertyValue incomingOldVal, SVNPropertyValue incomingNewVal, ISVNConflictHandler conflictHandler)
private SVNProperties
getActualProperties(java.io.File localAbsPath)
SVNProperties
getActualProps(java.io.File localAbspath)
java.lang.String
getActualTarget(java.io.File path)
void
getAndRecordFileInfo(java.io.File localAbspath, boolean ignoreError)
java.lang.String
getCharset(java.io.File path)
java.util.List<java.io.File>
getChildrenOfWorkingNode(java.io.File dirAbsPath, boolean showHidden)
SVNWCContext.ConflictInfo
getConflicted(java.io.File localAbsPath, boolean isTextNeed, boolean isPropNeed, boolean isTreeNeed)
ISVNWCDb
getDb()
SVNWCContext.EntryLocationInfo
getEntryLocation(java.io.File localAbsPath, SVNRevision pegRevisionKind, boolean fetchRevnum)
SVNWCContext.SVNEolStyleInfo
getEolStyle(java.io.File localAbsPath)
ISVNEventHandler
getEventHandler()
java.util.Map<java.lang.String,byte[]>
getKeyWords(java.io.File localAbsPath, java.lang.String forceList)
ISVNWCDb.WCDbBaseInfo
getNodeBase(java.io.File localAbsPath, boolean ignoreNonExisting, boolean showHidden)
long
getNodeBaseRev(java.io.File local_abspath)
ISVNWCDb.WCDbInfo
getNodeChangedInfo(java.io.File path)
java.util.List<java.io.File>
getNodeChildren(java.io.File dirAbsPath, boolean showHidden)
long
getNodeCommitBaseRev(java.io.File local_abspath)
SVNWCContext.NodeCopyFromInfo
getNodeCopyFromInfo(java.io.File localAbsPath, SVNWCContext.NodeCopyFromField... fields)
java.io.File
getNodeDeletedAncestor(java.io.File localAbsPath)
SVNDepth
getNodeDepth(java.io.File localAbsPath)
ISVNWCDb.SVNWCDbLock
getNodeLock(java.io.File localAbsPath)
Structure<StructureFields.NodeOriginInfo>
getNodeOrigin(java.io.File localAbsPath, boolean scanDeleted, StructureFields.NodeOriginInfo... fields)
SVNWCContext.NodePresence
getNodePresence(java.io.File localAbsPath, boolean baseOnly)
SVNWCContext.SVNWCNodeReposInfo
getNodeReposInfo(java.io.File localAbspath)
java.io.File
getNodeReposRelPath(java.io.File localAbsPath)
SVNWCContext.ScheduleInternalInfo
getNodeScheduleInternal(java.io.File localAbsPath, boolean schedule, boolean copied)
SVNURL
getNodeUrl(java.io.File path)
ISVNOptions
getOptions()
(package private) java.io.File
getPrejfileAbspath(java.io.File localAbspath)
SVNWCContext.PristineContentsInfo
getPristineContents(java.io.File localAbspath, boolean openStream, boolean getPath)
SVNProperties
getPristineProps(java.io.File localAbspath)
SVNWCContext.PropDiffs
getPropDiffs(java.io.File localAbsPath)
private SVNProperties
getProperties(java.io.File localAbsPath, java.lang.String name)
java.lang.String
getProperty(java.io.File localAbsPath, java.lang.String name)
SVNPropertyValue
getPropertyValue(java.io.File localAbsPath, java.lang.String name)
private java.io.File
getRelativePath(java.io.File localAbsPath)
private static java.io.File
getRelativePath(SVNWCDb db, java.io.File localAbspath)
long
getRevisionNumber(SVNRevision revision, long[] latestRevisionNumber, SVNRepository repository, java.io.File path)
java.io.File
getTranslatedFile(java.io.File src, java.io.File versionedAbspath, boolean toNormalFormat, boolean forceEOLRepair, boolean useGlobalTmp, boolean forceCopy, boolean safelyEncode)
When expanding working copy file (which is already expanded, we just have to update EOLs, keywords, etc) One has to pass safelyEncode argument set to true as for this case we have to carefully update necessary parts of the file taking its encoding into account.java.io.InputStream
getTranslatedStream(java.io.File localAbspath, java.io.File versionedAbspath, boolean translateToNormalForm, boolean repairEOL)
SVNWCContext.TranslateInfo
getTranslateInfo(java.io.File localAbspath, boolean fetchEolStyle, boolean fetchCharset, boolean fetchKeywords, boolean fetchSpecial)
SVNWCContext.TranslateInfo
getTranslateInfo(java.io.File localAbspath, SVNProperties props, boolean forNormalization, boolean fetchEolStyle, boolean fetchCharset, boolean fetchKeywords, boolean fetchSpecial)
SVNTreeConflictDescription
getTreeConflict(java.io.File victimAbspath)
SVNURL
getUrlFromPath(java.io.File localAbsPath)
SVNWCContext.TreeLocalModsInfo
hasLocalMods(java.io.File localAbspath, java.io.File anchorAbspath)
static boolean
hasMagicProperty(SVNProperties properties)
(package private) SVNWCContext.ConflictMarkersInfo
initConflictMarkers(java.lang.String targetLabel, java.lang.String leftLabel, java.lang.String rightLabel)
void
initializeWC(java.io.File localAbspath, SVNURL url, SVNURL repositoryRoot, java.lang.String uuid, long revision, SVNDepth depth, int targetWorkingCopyFormat)
private void
initWC(java.io.File localAbspath, java.io.File reposRelpath, SVNURL repositoryRoot, java.lang.String uuid, long revNumber, SVNDepth depth, int workingCopyFormat)
void
invokeConflictResolver(java.io.File localAbsPath, SVNSkel conflictSkel, ISVNConflictHandler conflictHandler, ISVNCanceller canceller)
static boolean
isAdminDirectory(java.lang.String name)
boolean
isChangelistMatch(java.io.File localAbsPath, java.util.Collection<java.lang.String> changelistsSet)
private boolean
isChildDisjoint(java.io.File localAbspath)
static boolean
isErrorAccess(SVNException e)
private boolean
isExternalRolledOut(SVNWCContext.CommittableExternalInfo xInfo)
boolean
isFileExternal(java.io.File path)
private boolean
isGlobalCharsetSpecified()
private boolean
isMarkedAsBinary(java.io.File localAbsPath)
boolean
isNodeAdded(java.io.File path)
boolean
isNodeReplaced(java.io.File path)
Equivalent to the old notion of "entry->schedule == schedule_replace"boolean
isNodeStatusDeleted(java.io.File localAbsPath)
private static boolean
isNotCurrentWc(SVNException e)
boolean
isPropsModified(java.io.File localAbspath)
private boolean
isSameContents(java.io.File file1, java.io.File file2)
private boolean
isSameContents(java.io.InputStream stream1, java.io.InputStream stream2)
private static boolean
isSingleWorkItem(SVNSkel workItem)
boolean
isSpecial(java.io.File path)
boolean
isTextModified(java.io.File localAbsPath, boolean exactComparison)
private boolean
isTranslationRequired(SVNWCContext.SVNEolStyle style, byte[] eol, java.lang.String charset, java.util.Map<java.lang.String,byte[]> keywords, boolean special, boolean force_eol_check)
private static boolean
isWC17SupportEnabled()
boolean
matchesChangelist(java.io.File localAbspath, java.util.Collection<java.lang.String> changelists)
private boolean
maybeGeneratePropConflict(java.io.File localAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean isDir, java.lang.String propname, SVNProperties workingProps, SVNPropertyValue oldVal, SVNPropertyValue newVal, SVNPropertyValue baseVal, SVNPropertyValue workingVal, ISVNConflictHandler conflictResolver, boolean dryRun)
private SVNPropertyValue
maybePropValue(java.lang.String propname, SVNSkel child)
private SVNWCContext.MergeInfo
maybeResolveConflicts(java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.io.File copyfromText, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, java.io.File resultTarget, java.io.File detranslatedTarget, SVNPropertyValue mimeprop, SVNDiffOptions options, ISVNConflictHandler conflictResolver)
private boolean
maybeSetExecutable(java.io.File localAbspath)
private boolean
maybeSetReadOnly(java.io.File localAbspath)
private java.io.File
maybeUpdateTargetEols(java.io.File oldTargetAbspath, SVNProperties propDiff)
SVNWCContext.MergeInfo
merge(SVNSkel workItems, SVNSkel conflictSkel, java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.io.File wriAbspath, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, SVNProperties oldActualProps, boolean dryRun, SVNDiffOptions options, SVNProperties propDiff)
private SVNWCContext.MergeInfo
mergeBinaryFile(SVNWCContext.MergeInfo info, java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, java.io.File detranslatedTargetAbspath, boolean dryRun)
SVNWCContext.MergePropertiesInfo
mergeProperties(java.io.File localAbsPath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, SVNProperties baseProperties, SVNProperties propChanges, boolean dryRun, ISVNConflictHandler conflictResolver)
SVNWCContext.MergePropertiesInfo
mergeProperties2(SVNWCContext.MergePropertiesInfo mergeInfo, java.io.File localAbsPath, ISVNWCDb.SVNWCDbKind kind, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, SVNProperties serverBaseProperties, SVNProperties pristineProperties, SVNProperties actualProperties, SVNProperties propChanges, boolean baseMerge, boolean dryRun, ISVNConflictHandler conflictResolver)
SVNWCContext.MergePropertiesInfo
mergeProperties3(SVNWCContext.MergePropertiesInfo mergePropertiesInfo, java.io.File localAbsPath, SVNProperties serverBaseProps, SVNProperties pristineProps, SVNProperties actualProps, SVNProperties propChanges)
SVNWCContext.MergeInfo
mergeText(java.io.File left, java.io.File right, java.io.File target, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean dryRun, SVNDiffOptions options, SVNProperties propDiff)
private SVNWCContext.MergeInfo
mergeTextFile(SVNWCContext.MergeInfo info, ISvnMerger customMerger, java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.io.File wriAbspath, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, boolean dryRun, SVNDiffOptions options, java.io.File copyfromText, java.io.File detranslatedTargetAbspath, SVNPropertyValue mimeprop)
private java.lang.String
messageFromSkel(SVNSkel skel)
void
nodeWalkChildren(java.io.File localAbspath, SVNWCContext.ISVNWCNodeHandler nodeHandler, boolean showHidden, SVNDepth walkDepth, java.util.Collection<java.lang.String> changelists)
SVNWCContext.NodeMovedAway
nodeWasMovedAway(java.io.File localAbsPath)
SVNWCContext.NodeMovedHere
nodeWasMovedHere(java.io.File localAbsPath)
java.io.File
obtainAnchorPath(java.io.File localAbspath, boolean lockAnchor, boolean returnLockRoot)
static SVNWCContext.UniqueFileInfo
openUniqueFile(java.io.File dirPath, boolean openStream)
SVNWCContext.WritableBaseInfo
openWritableBase(java.io.File localAbspath, boolean md5Checksum, boolean sha1Checksum)
void
popEventHandler()
private SVNWCContext.PresevePreMergeFileInfo
preservePreMergeFiles(java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, java.io.File detranslatedTargetAbspath)
void
pushEventHandler(ISVNEventHandler handler)
SVNNodeKind
readKind(java.io.File localAbsPath, boolean showHidden)
static java.io.InputStream
readSpecialFile(java.io.File localAbsPath)
private void
recursiveResolveConflict(java.io.File localAbsPath, SVNDepth depth, boolean resolveText, java.lang.String resolveProps, boolean resolveTree, SVNConflictChoice conflictChoice, ISVNConflictHandler conflictHandler)
void
registerCleanupHandler(SVNWCContext.CleanupHandler ch)
void
releaseWriteLock(java.io.File localAbspath)
private SVNWCContext.RemoveArtifactInfo
removeArtifactFileIfExists(java.io.File wriAbsPath, java.io.File artifactFileAbsPath)
void
removeBaseNode(java.io.File localAbspath)
void
removeFromRevisionControl(java.io.File localAbspath, boolean destroyWf, boolean instantError)
boolean
resolveConflictOnNode(java.io.File localAbsPath, boolean resolveText, boolean resolveProps, SVNConflictChoice conflictChoice)
void
resolvedConflict(java.io.File localAbsPath, SVNDepth depth, boolean resolveText, java.lang.String resolveProps, boolean resolveTree, SVNConflictChoice conflictChoice)
private void
resolveOneConflict(java.io.File localAbsPath, boolean resolveText, java.lang.String resolveProps, boolean resolveTree, SVNConflictChoice conflictChoice)
private boolean
resolvePropConflictOnNode(java.io.File localAbsPath, java.lang.String conflictedPropName, SVNConflictChoice conflictChoice, java.io.File mergedFile)
SVNWCContext.TextConflictResolutionInfo
resolveTextConflict(java.io.File localAbsPath, SVNOperation operation, java.io.File leftAbsPath, java.io.File rightAbsPath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, java.io.File resultTarget, java.io.File detranslatedTarget, ISVNConflictHandler conflictHandler)
private boolean
resolveTextConflictOnNode(java.io.File localAbsPath, SVNConflictChoice conflictChoice, java.io.File mergedFile)
private boolean
resolveTreeConflictOnNode(java.io.File localAbsPath, SVNConflictChoice conflictChoice)
private SVNSkel
saveMergeResult(java.io.File versionedAbspath, java.io.File source)
private static SVNSkel
saveMergeResult(ISVNWCDb db, java.io.File localAbsPath, java.io.File sourceAbsPath)
void
setEventHandler(ISVNEventHandler handler)
void
setOperation(SvnOperation<?> operation)
(package private) SVNStatusType
setPropMergeState(SVNStatusType state, SVNStatusType newValue)
void
setSqliteJournalMode(org.tmatesoft.sqljet.core.internal.SqlJetPagerJournalMode sqliteJournalMode)
void
setSqliteTemporaryDbInMemory(boolean temporaryDbInMemory)
private SVNConflictDescription
setupTextConflictDesc(java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, java.io.File resultTarget, java.io.File detranslatedTarget, SVNPropertyValue mimeprop, boolean isBinary)
private SVNConflictDescription
setupTreeConflictDesc(java.io.File localAbsPath, SVNOperation operation, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, SVNConflictReason localChange, SVNConflictAction incomingChange)
void
syncFileFlags(java.io.File localAbspath)
private void
walkerHelper(java.io.File dirAbspath, SVNWCContext.ISVNWCNodeHandler nodeHandler, boolean showHidden, SVNDepth depth, java.util.Collection<java.lang.String> changelists)
SVNSkel
wqBuildBaseRemove(java.io.File localAbspath, boolean keepNotPresent)
SVNSkel
wqBuildBaseRemove(java.io.File localAbspath, long notPresentRevision, ISVNWCDb.SVNWCDbKind notPresentKind)
static SVNSkel
wqBuildBaseRemove(SVNWCDb db, java.io.File localAbspath, long notPresentRevision, ISVNWCDb.SVNWCDbKind notPresentKind)
SVNSkel
wqBuildDirInstall(java.io.File localAbsPath)
static SVNSkel
wqBuildDirInstall(SVNWCDb db, java.io.File localAbsPath)
static SVNSkel
wqBuildDirRemove(SVNWCDb db, java.io.File wriAbspath, java.io.File localAbspath, boolean recursive)
SVNSkel
wqBuildFileCommit(java.io.File localAbspath, boolean propsMods)
SVNSkel
wqBuildFileCopyTranslated(java.io.File localAbspath, java.io.File srcAbspath, java.io.File dstAbspath)
static SVNSkel
wqBuildFileCopyTranslated(SVNWCDb db, java.io.File localAbspath, java.io.File srcAbspath, java.io.File dstAbspath)
SVNSkel
wqBuildFileInstall(java.io.File localAbspath, java.io.File sourceAbspath, boolean useCommitTimes, boolean recordFileinfo)
static SVNSkel
wqBuildFileInstall(SVNWCDb db, java.io.File localAbspath, java.io.File sourceAbspath, boolean useCommitTimes, boolean recordFileinfo)
SVNSkel
wqBuildFileMove(java.io.File srcAbspath, java.io.File dstAbspath)
SVNSkel
wqBuildFileMove(java.io.File anchorPath, java.io.File srcAbspath, java.io.File dstAbspath)
SVNSkel
wqBuildFileRemove(java.io.File wriAbsPath, java.io.File localAbspath)
static SVNSkel
wqBuildFileRemove(SVNWCDb db, java.io.File wriAbspath, java.io.File localAbspath)
SVNSkel
wqBuildPostUpgrade()
SVNSkel
wqBuildPrejInstall(java.io.File localAbspath, SVNSkel conflictSkel)
static SVNSkel
wqBuildPrejInstall(ISVNWCDb db, java.io.File localAbspath, SVNSkel conflictSkel)
SVNSkel
wqBuildRecordFileinfo(java.io.File localAbspath, SVNDate setTime)
SVNSkel
wqBuildSetPropertyConflictMarkerTemp(java.io.File localAbspath, java.io.File prejFile)
SVNSkel
wqBuildSetTextConflictMarkersTmp(java.io.File localAbspath, java.io.File old, java.io.File neo, java.io.File wrk)
SVNSkel
wqBuildSyncFileFlags(java.io.File localAbspath)
static SVNSkel
wqBuildSyncFileFlags(SVNWCDb db, java.io.File localAbspath)
static SVNSkel
wqMerge(SVNSkel workItem1, SVNSkel workItem2)
void
wqRun(java.io.File dirAbspath)
void
writeCheck(java.io.File localAbspath)
static void
writeCheck(ISVNWCDb db, java.io.File localAbspath)
private java.io.File
writeUnique(java.io.File path, byte[] value)
-
-
-
Field Detail
-
CONFLICT_OP_UPDATE
public static java.lang.String CONFLICT_OP_UPDATE
-
CONFLICT_OP_SWITCH
public static java.lang.String CONFLICT_OP_SWITCH
-
CONFLICT_OP_MERGE
public static java.lang.String CONFLICT_OP_MERGE
-
CONFLICT_OP_PATCH
public static java.lang.String CONFLICT_OP_PATCH
-
CONFLICT_KIND_TEXT
public static java.lang.String CONFLICT_KIND_TEXT
-
CONFLICT_KIND_PROP
public static java.lang.String CONFLICT_KIND_PROP
-
CONFLICT_KIND_TREE
public static java.lang.String CONFLICT_KIND_TREE
-
CONFLICT_KIND_REJECT
public static java.lang.String CONFLICT_KIND_REJECT
-
CONFLICT_KIND_OBSTRUCTED
public static java.lang.String CONFLICT_KIND_OBSTRUCTED
-
STATUS_ORDERING
private static java.util.List<SVNStatusType> STATUS_ORDERING
-
INVALID_REVNUM
public static final long INVALID_REVNUM
- See Also:
- Constant Field Values
-
STREAM_CHUNK_SIZE
public static final int STREAM_CHUNK_SIZE
- See Also:
- Constant Field Values
-
THIS_DIR_PREJ
public static final java.lang.String THIS_DIR_PREJ
- See Also:
- Constant Field Values
-
PROP_REJ_EXT
public static final java.lang.String PROP_REJ_EXT
- See Also:
- Constant Field Values
-
CONFLICT_LOCAL_LABEL
public static final java.lang.String CONFLICT_LOCAL_LABEL
- See Also:
- Constant Field Values
-
CONFLICT_LATEST_LABEL
public static final java.lang.String CONFLICT_LATEST_LABEL
- See Also:
- Constant Field Values
-
CONFLICT_START
public static final byte[] CONFLICT_START
-
CONFLICT_END
public static final byte[] CONFLICT_END
-
CONFLICT_SEPARATOR
public static final byte[] CONFLICT_SEPARATOR
-
WC_NG_VERSION
public static final int WC_NG_VERSION
- See Also:
- Constant Field Values
-
WC_WCPROPS_MANY_FILES_VERSION
public static final int WC_WCPROPS_MANY_FILES_VERSION
- See Also:
- Constant Field Values
-
WC_WCPROPS_LOST
public static final int WC_WCPROPS_LOST
- See Also:
- Constant Field Values
-
WC_ADM_FORMAT
public static final java.lang.String WC_ADM_FORMAT
- See Also:
- Constant Field Values
-
WC_ADM_ENTRIES
public static final java.lang.String WC_ADM_ENTRIES
- See Also:
- Constant Field Values
-
WC_ADM_TMP
public static final java.lang.String WC_ADM_TMP
- See Also:
- Constant Field Values
-
WC_ADM_PRISTINE
public static final java.lang.String WC_ADM_PRISTINE
- See Also:
- Constant Field Values
-
WC_ADM_NONEXISTENT_PATH
public static final java.lang.String WC_ADM_NONEXISTENT_PATH
- See Also:
- Constant Field Values
-
WC_NON_ENTRIES_STRING
public static final java.lang.String WC_NON_ENTRIES_STRING
- See Also:
- Constant Field Values
-
WC17_SUPPORT_ENABLED_PROPERTY
private static final java.lang.String WC17_SUPPORT_ENABLED_PROPERTY
- See Also:
- Constant Field Values
-
db
private ISVNWCDb db
-
closeDb
private boolean closeDb
-
eventHandler
private java.util.Stack<ISVNEventHandler> eventHandler
-
cleanupHandlers
private java.util.List<SVNWCContext.CleanupHandler> cleanupHandlers
-
operation
private SvnOperation<?> operation
-
-
Constructor Detail
-
SVNWCContext
public SVNWCContext(ISVNOptions config, ISVNEventHandler eventHandler)
-
SVNWCContext
public SVNWCContext(ISVNWCDb.SVNWCDbOpenMode mode, ISVNOptions config, boolean autoUpgrade, boolean enforceEmptyWQ, ISVNEventHandler eventHandler)
-
SVNWCContext
public SVNWCContext(ISVNWCDb db, ISVNEventHandler eventHandler)
-
-
Method Detail
-
hasLocalMods
public SVNWCContext.TreeLocalModsInfo hasLocalMods(java.io.File localAbspath, java.io.File anchorAbspath) throws SVNException
- Throws:
SVNException
-
isAdminDirectory
public static boolean isAdminDirectory(java.lang.String name)
-
isWC17SupportEnabled
private static boolean isWC17SupportEnabled()
-
setOperation
public void setOperation(SvnOperation<?> operation)
-
getEventHandler
public ISVNEventHandler getEventHandler()
-
pushEventHandler
public void pushEventHandler(ISVNEventHandler handler)
-
popEventHandler
public void popEventHandler()
-
setEventHandler
public void setEventHandler(ISVNEventHandler handler)
-
close
public void close()
-
registerCleanupHandler
public void registerCleanupHandler(SVNWCContext.CleanupHandler ch)
-
cleanup
public void cleanup() throws SVNException
- Throws:
SVNException
-
getDb
public ISVNWCDb getDb()
-
checkCancelled
public void checkCancelled() throws SVNCancelException
- Throws:
SVNCancelException
-
getOptions
public ISVNOptions getOptions()
-
readKind
public SVNNodeKind readKind(java.io.File localAbsPath, boolean showHidden) throws SVNException
- Throws:
SVNException
-
isNodeAdded
public boolean isNodeAdded(java.io.File path) throws SVNException
- Throws:
SVNException
-
isNodeReplaced
public boolean isNodeReplaced(java.io.File path) throws SVNException
Equivalent to the old notion of "entry->schedule == schedule_replace"- Throws:
SVNException
-
getRevisionNumber
public long getRevisionNumber(SVNRevision revision, long[] latestRevisionNumber, SVNRepository repository, java.io.File path) throws SVNException
- Throws:
SVNException
-
getNodeChangedInfo
public ISVNWCDb.WCDbInfo getNodeChangedInfo(java.io.File path) throws SVNException
- Throws:
SVNException
-
getNodeCommitBaseRev
public long getNodeCommitBaseRev(java.io.File local_abspath) throws SVNException
- Throws:
SVNException
-
getNodeBaseRev
public long getNodeBaseRev(java.io.File local_abspath) throws SVNException
- Throws:
SVNException
-
getNodeScheduleInternal
public SVNWCContext.ScheduleInternalInfo getNodeScheduleInternal(java.io.File localAbsPath, boolean schedule, boolean copied) throws SVNException
- Throws:
SVNException
-
isTextModified
public boolean isTextModified(java.io.File localAbsPath, boolean exactComparison) throws SVNException
- Throws:
SVNException
-
compareAndVerify
public boolean compareAndVerify(java.io.File localAbsPath, java.io.File pristineFile, boolean hasProps, boolean propMods, boolean exactComparison) throws SVNException
- Throws:
SVNException
-
isGlobalCharsetSpecified
private boolean isGlobalCharsetSpecified()
-
getPristineContents
public SVNWCContext.PristineContentsInfo getPristineContents(java.io.File localAbspath, boolean openStream, boolean getPath) throws SVNException
- Throws:
SVNException
-
isSameContents
private boolean isSameContents(java.io.File file1, java.io.File file2) throws SVNException
- Throws:
SVNException
-
isSameContents
private boolean isSameContents(java.io.InputStream stream1, java.io.InputStream stream2) throws SVNException
- Throws:
SVNException
-
arraysEqual
private boolean arraysEqual(byte[] array1, byte[] array2, int size)
-
readSpecialFile
public static java.io.InputStream readSpecialFile(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
isTranslationRequired
private boolean isTranslationRequired(SVNWCContext.SVNEolStyle style, byte[] eol, java.lang.String charset, java.util.Map<java.lang.String,byte[]> keywords, boolean special, boolean force_eol_check)
-
getCharset
public java.lang.String getCharset(java.io.File path) throws SVNException
- Throws:
SVNException
-
isSpecial
public boolean isSpecial(java.io.File path) throws SVNException
- Throws:
SVNException
-
getEolStyle
public SVNWCContext.SVNEolStyleInfo getEolStyle(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
getKeyWords
public java.util.Map<java.lang.String,byte[]> getKeyWords(java.io.File localAbsPath, java.lang.String forceList) throws SVNException
- Throws:
SVNException
-
getTranslateInfo
public SVNWCContext.TranslateInfo getTranslateInfo(java.io.File localAbspath, boolean fetchEolStyle, boolean fetchCharset, boolean fetchKeywords, boolean fetchSpecial) throws SVNException
- Throws:
SVNException
-
getTranslateInfo
public SVNWCContext.TranslateInfo getTranslateInfo(java.io.File localAbspath, SVNProperties props, boolean forNormalization, boolean fetchEolStyle, boolean fetchCharset, boolean fetchKeywords, boolean fetchSpecial) throws SVNException
- Throws:
SVNException
-
expandKeywords
private java.util.Map<java.lang.String,byte[]> expandKeywords(java.io.File localAbsPath, java.io.File wriAbspath, java.lang.String keywordsList, boolean forNormalization) throws SVNException
- Throws:
SVNException
-
isFileExternal
public boolean isFileExternal(java.io.File path) throws SVNException
- Throws:
SVNException
-
getNodeUrl
public SVNURL getNodeUrl(java.io.File path) throws SVNException
- Throws:
SVNException
-
getConflicted
public SVNWCContext.ConflictInfo getConflicted(java.io.File localAbsPath, boolean isTextNeed, boolean isPropNeed, boolean isTreeNeed) throws SVNException
- Throws:
SVNException
-
getProperty
public java.lang.String getProperty(java.io.File localAbsPath, java.lang.String name) throws SVNException
- Throws:
SVNException
-
getPropertyValue
public SVNPropertyValue getPropertyValue(java.io.File localAbsPath, java.lang.String name) throws SVNException
- Throws:
SVNException
-
getProperties
private SVNProperties getProperties(java.io.File localAbsPath, java.lang.String name) throws SVNException
- Throws:
SVNException
-
getActualProperties
private SVNProperties getActualProperties(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
getUrlFromPath
public SVNURL getUrlFromPath(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
getEntryLocation
public SVNWCContext.EntryLocationInfo getEntryLocation(java.io.File localAbsPath, SVNRevision pegRevisionKind, boolean fetchRevnum) throws SVNException
- Throws:
SVNException
-
getNodeCopyFromInfo
public SVNWCContext.NodeCopyFromInfo getNodeCopyFromInfo(java.io.File localAbsPath, SVNWCContext.NodeCopyFromField... fields) throws SVNException
- Throws:
SVNException
-
getNodeOrigin
public Structure<StructureFields.NodeOriginInfo> getNodeOrigin(java.io.File localAbsPath, boolean scanDeleted, StructureFields.NodeOriginInfo... fields) throws SVNException
- Throws:
SVNException
-
isErrorAccess
public static boolean isErrorAccess(SVNException e)
-
isPropsModified
public boolean isPropsModified(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
nodeWalkChildren
public void nodeWalkChildren(java.io.File localAbspath, SVNWCContext.ISVNWCNodeHandler nodeHandler, boolean showHidden, SVNDepth walkDepth, java.util.Collection<java.lang.String> changelists) throws SVNException
- Throws:
SVNException
-
matchesChangelist
public boolean matchesChangelist(java.io.File localAbspath, java.util.Collection<java.lang.String> changelists)
-
walkerHelper
private void walkerHelper(java.io.File dirAbspath, SVNWCContext.ISVNWCNodeHandler nodeHandler, boolean showHidden, SVNDepth depth, java.util.Collection<java.lang.String> changelists) throws SVNException
- Throws:
SVNException
-
acquireWriteLock
public java.io.File acquireWriteLock(java.io.File localAbspath, boolean lockAnchor, boolean returnLockRoot) throws SVNException
- Throws:
SVNException
-
obtainAnchorPath
public java.io.File obtainAnchorPath(java.io.File localAbspath, boolean lockAnchor, boolean returnLockRoot) throws SVNException
- Throws:
SVNException
-
isNotCurrentWc
private static boolean isNotCurrentWc(SVNException e)
-
isChildDisjoint
private boolean isChildDisjoint(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
releaseWriteLock
public void releaseWriteLock(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
checkWCRoot
public SVNWCContext.CheckWCRootInfo checkWCRoot(java.io.File localAbspath, boolean fetchSwitched) throws SVNException
- Throws:
SVNException
-
exclude
public void exclude(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
checkSpecialPath
public static SVNWCContext.CheckSpecialInfo checkSpecialPath(java.io.File localAbspath)
-
removeFromRevisionControl
public void removeFromRevisionControl(java.io.File localAbspath, boolean destroyWf, boolean instantError) throws SVNException
- Throws:
SVNException
-
destroyAdm
private void destroyAdm(java.io.File dirAbspath) throws SVNException
- Throws:
SVNException
-
cropTree
public void cropTree(java.io.File localAbspath, SVNDepth depth) throws SVNException
- Throws:
SVNException
-
cropChildren
private void cropChildren(java.io.File localAbspath, SVNDepth depth) throws SVNException
- Throws:
SVNException
-
getNodeReposInfo
public SVNWCContext.SVNWCNodeReposInfo getNodeReposInfo(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
getTreeConflict
public SVNTreeConflictDescription getTreeConflict(java.io.File victimAbspath) throws SVNException
- Throws:
SVNException
-
writeCheck
public void writeCheck(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
writeCheck
public static void writeCheck(ISVNWCDb db, java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
getPristineProps
public SVNProperties getPristineProps(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
getActualProps
public SVNProperties getActualProps(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
mergeProperties
public SVNWCContext.MergePropertiesInfo mergeProperties(java.io.File localAbsPath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, SVNProperties baseProperties, SVNProperties propChanges, boolean dryRun, ISVNConflictHandler conflictResolver) throws SVNException
- Throws:
SVNException
-
mergeProperties2
public SVNWCContext.MergePropertiesInfo mergeProperties2(SVNWCContext.MergePropertiesInfo mergeInfo, java.io.File localAbsPath, ISVNWCDb.SVNWCDbKind kind, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, SVNProperties serverBaseProperties, SVNProperties pristineProperties, SVNProperties actualProperties, SVNProperties propChanges, boolean baseMerge, boolean dryRun, ISVNConflictHandler conflictResolver) throws SVNException
- Throws:
SVNException
-
mergeProperties3
public SVNWCContext.MergePropertiesInfo mergeProperties3(SVNWCContext.MergePropertiesInfo mergePropertiesInfo, java.io.File localAbsPath, SVNProperties serverBaseProps, SVNProperties pristineProps, SVNProperties actualProps, SVNProperties propChanges) throws SVNException
- Throws:
SVNException
-
createCustomMerger
private ISvnMerger createCustomMerger()
-
createDefaultMerger
private DefaultSvnMerger createDefaultMerger()
-
getPrejfileAbspath
java.io.File getPrejfileAbspath(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
conflictSkelAddPropConflict
void conflictSkelAddPropConflict(SVNSkel skel, java.lang.String propName, SVNPropertyValue baseVal, SVNPropertyValue mineVal, SVNPropertyValue toVal, SVNPropertyValue fromVal) throws SVNException
- Throws:
SVNException
-
setPropMergeState
SVNStatusType setPropMergeState(SVNStatusType state, SVNStatusType newValue)
-
applySinglePropAdd
SVNWCContext.MergePropStatusInfo applySinglePropAdd(SVNPropertyValue resultVal, boolean didMerge, java.lang.String propName, SVNPropertyValue pristineVal, SVNPropertyValue newVal, SVNPropertyValue workingVal) throws SVNException
- Throws:
SVNException
-
applySinglePropAdd
SVNWCContext.MergePropStatusInfo applySinglePropAdd(SVNStatusType state, java.io.File localAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean isDir, SVNProperties workingProps, java.lang.String propname, SVNPropertyValue baseVal, SVNPropertyValue toVal, ISVNConflictHandler conflictResolver, boolean dryRun) throws SVNException
- Throws:
SVNException
-
maybeGeneratePropConflict
private boolean maybeGeneratePropConflict(java.io.File localAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean isDir, java.lang.String propname, SVNProperties workingProps, SVNPropertyValue oldVal, SVNPropertyValue newVal, SVNPropertyValue baseVal, SVNPropertyValue workingVal, ISVNConflictHandler conflictResolver, boolean dryRun) throws SVNException
- Throws:
SVNException
-
writeUnique
private java.io.File writeUnique(java.io.File path, byte[] value) throws SVNException
- Throws:
SVNException
-
applySinglePropDelete
SVNWCContext.MergePropStatusInfo applySinglePropDelete(SVNPropertyValue resultVal, boolean didMerge, SVNPropertyValue baseVal, SVNPropertyValue oldVal, SVNPropertyValue workingVal)
-
applySinglePropDelete
SVNWCContext.MergePropStatusInfo applySinglePropDelete(SVNStatusType state, java.io.File localAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean isDir, SVNProperties workingProps, java.lang.String propname, SVNPropertyValue baseVal, SVNPropertyValue oldVal, ISVNConflictHandler conflictResolver, boolean dryRun) throws SVNException
- Throws:
SVNException
-
applySinglePropChange
SVNWCContext.MergePropStatusInfo applySinglePropChange(SVNPropertyValue resultVal, boolean didMerge, java.lang.String propName, SVNPropertyValue baseVal, SVNPropertyValue oldVal, SVNPropertyValue newVal, SVNPropertyValue workingVal) throws SVNException
- Throws:
SVNException
-
applySinglePropChange
SVNWCContext.MergePropStatusInfo applySinglePropChange(SVNStatusType state, java.io.File localAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean isDir, SVNProperties workingProps, java.lang.String propname, SVNPropertyValue baseVal, SVNPropertyValue oldVal, SVNPropertyValue newVal, ISVNConflictHandler conflictResolver, boolean dryRun) throws SVNException
- Throws:
SVNException
-
applySingleGenericPropChange
private SVNWCContext.MergePropStatusInfo applySingleGenericPropChange(SVNPropertyValue resultVal, boolean didMerge, SVNPropertyValue oldVal, SVNPropertyValue newVal, SVNPropertyValue workingVal)
-
applySingleGenericPropChange
private SVNWCContext.MergePropStatusInfo applySingleGenericPropChange(SVNStatusType state, java.io.File localAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean isDir, SVNProperties workingProps, java.lang.String propname, SVNPropertyValue baseVal, SVNPropertyValue oldVal, SVNPropertyValue newVal, ISVNConflictHandler conflictResolver, boolean dryRun) throws SVNException
- Throws:
SVNException
-
applySingleMergeInfoPropChange
private SVNWCContext.MergePropStatusInfo applySingleMergeInfoPropChange(SVNPropertyValue resultVal, boolean didMerge, SVNPropertyValue baseVal, SVNPropertyValue oldVal, SVNPropertyValue newVal, SVNPropertyValue workingVal) throws SVNException
- Throws:
SVNException
-
combineForkedMergeInfoProps
private SVNPropertyValue combineForkedMergeInfoProps(SVNPropertyValue fromPropVal, SVNPropertyValue workingPropVal, SVNPropertyValue toPropVal) throws SVNException
- Throws:
SVNException
-
applySingleMergeinfoPropChange
private SVNWCContext.MergePropStatusInfo applySingleMergeinfoPropChange(SVNStatusType state, java.io.File localAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean isDir, SVNProperties workingProps, java.lang.String propname, SVNPropertyValue baseVal, SVNPropertyValue oldVal, SVNPropertyValue newVal, ISVNConflictHandler conflictResolver, boolean dryRun) throws SVNException
- Throws:
SVNException
-
openWritableBase
public SVNWCContext.WritableBaseInfo openWritableBase(java.io.File localAbspath, boolean md5Checksum, boolean sha1Checksum) throws SVNException
- Throws:
SVNException
-
hasMagicProperty
public static boolean hasMagicProperty(SVNProperties properties)
-
getTranslatedStream
public java.io.InputStream getTranslatedStream(java.io.File localAbspath, java.io.File versionedAbspath, boolean translateToNormalForm, boolean repairEOL) throws SVNException
- Throws:
SVNException
-
getTranslatedFile
public java.io.File getTranslatedFile(java.io.File src, java.io.File versionedAbspath, boolean toNormalFormat, boolean forceEOLRepair, boolean useGlobalTmp, boolean forceCopy, boolean safelyEncode) throws SVNException
When expanding working copy file (which is already expanded, we just have to update EOLs, keywords, etc) One has to pass safelyEncode argument set to true as for this case we have to carefully update necessary parts of the file taking its encoding into account.- Parameters:
src
-versionedAbspath
-toNormalFormat
-forceEOLRepair
-useGlobalTmp
-forceCopy
-safelyEncode
-- Returns:
- Throws:
SVNException
-
mergeText
public SVNWCContext.MergeInfo mergeText(java.io.File left, java.io.File right, java.io.File target, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, boolean dryRun, SVNDiffOptions options, SVNProperties propDiff) throws SVNException
- Throws:
SVNException
-
merge
public SVNWCContext.MergeInfo merge(SVNSkel workItems, SVNSkel conflictSkel, java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.io.File wriAbspath, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, SVNProperties oldActualProps, boolean dryRun, SVNDiffOptions options, SVNProperties propDiff) throws SVNException
- Throws:
SVNException
-
attemptTrivialMerge
private SVNWCContext.MergeInfo attemptTrivialMerge(SVNWCContext.MergeInfo info, java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.io.File detranslatedTargetAbspath, boolean dryRun) throws SVNException
- Throws:
SVNException
-
isMarkedAsBinary
private boolean isMarkedAsBinary(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
detranslateWCFile
private java.io.File detranslateWCFile(java.io.File targetAbspath, boolean forceCopy, SVNProperties oldActualProps, SVNProperties propDiff, java.io.File sourceAbspath) throws SVNException
- Throws:
SVNException
-
openUniqueFile
public static SVNWCContext.UniqueFileInfo openUniqueFile(java.io.File dirPath, boolean openStream) throws SVNException
- Throws:
SVNException
-
maybeUpdateTargetEols
private java.io.File maybeUpdateTargetEols(java.io.File oldTargetAbspath, SVNProperties propDiff) throws SVNException
- Throws:
SVNException
-
mergeTextFile
private SVNWCContext.MergeInfo mergeTextFile(SVNWCContext.MergeInfo info, ISvnMerger customMerger, java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.io.File wriAbspath, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, boolean dryRun, SVNDiffOptions options, java.io.File copyfromText, java.io.File detranslatedTargetAbspath, SVNPropertyValue mimeprop) throws SVNException
- Throws:
SVNException
-
doTextMerge
private boolean doTextMerge(ISvnMerger customMerger, java.io.File resultFile, java.io.File targetAbsPath, java.io.File detranslatedTargetAbspath, java.io.File leftAbspath, java.io.File rightAbspath, java.lang.String targetLabel, java.lang.String leftLabel, java.lang.String rightLabel, SVNDiffOptions options, SVNDiffConflictChoiceStyle style) throws SVNException
- Throws:
SVNException
-
initConflictMarkers
SVNWCContext.ConflictMarkersInfo initConflictMarkers(java.lang.String targetLabel, java.lang.String leftLabel, java.lang.String rightLabel)
-
preservePreMergeFiles
private SVNWCContext.PresevePreMergeFileInfo preservePreMergeFiles(java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, java.io.File detranslatedTargetAbspath) throws SVNException
- Throws:
SVNException
-
maybeResolveConflicts
private SVNWCContext.MergeInfo maybeResolveConflicts(java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.io.File copyfromText, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, java.io.File resultTarget, java.io.File detranslatedTarget, SVNPropertyValue mimeprop, SVNDiffOptions options, ISVNConflictHandler conflictResolver) throws SVNException
- Throws:
SVNException
-
setupTextConflictDesc
private SVNConflictDescription setupTextConflictDesc(java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, java.io.File resultTarget, java.io.File detranslatedTarget, SVNPropertyValue mimeprop, boolean isBinary)
-
setupTreeConflictDesc
private SVNConflictDescription setupTreeConflictDesc(java.io.File localAbsPath, SVNOperation operation, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, SVNConflictReason localChange, SVNConflictAction incomingChange)
-
saveMergeResult
private SVNSkel saveMergeResult(java.io.File versionedAbspath, java.io.File source) throws SVNException
- Throws:
SVNException
-
evalConflictResolverResult
private SVNWCContext.MergeInfo evalConflictResolverResult(SVNConflictChoice choice, java.io.File wriAbspath, java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.io.File copyfromText, java.io.File mergedFile, java.io.File detranslatedTarget, SVNDiffOptions options) throws SVNException
- Throws:
SVNException
-
mergeBinaryFile
private SVNWCContext.MergeInfo mergeBinaryFile(SVNWCContext.MergeInfo info, java.io.File leftAbspath, java.io.File rightAbspath, java.io.File targetAbspath, java.lang.String leftLabel, java.lang.String rightLabel, java.lang.String targetLabel, java.io.File detranslatedTargetAbspath, boolean dryRun) throws SVNException
- Throws:
SVNException
-
wqBuildFileMove
public SVNSkel wqBuildFileMove(java.io.File srcAbspath, java.io.File dstAbspath) throws SVNException
- Throws:
SVNException
-
wqBuildFileMove
public SVNSkel wqBuildFileMove(java.io.File anchorPath, java.io.File srcAbspath, java.io.File dstAbspath) throws SVNException
- Throws:
SVNException
-
wqBuildFileCopyTranslated
public SVNSkel wqBuildFileCopyTranslated(java.io.File localAbspath, java.io.File srcAbspath, java.io.File dstAbspath) throws SVNException
- Throws:
SVNException
-
wqBuildFileCopyTranslated
public static SVNSkel wqBuildFileCopyTranslated(SVNWCDb db, java.io.File localAbspath, java.io.File srcAbspath, java.io.File dstAbspath) throws SVNException
- Throws:
SVNException
-
wqBuildSetTextConflictMarkersTmp
public SVNSkel wqBuildSetTextConflictMarkersTmp(java.io.File localAbspath, java.io.File old, java.io.File neo, java.io.File wrk) throws SVNException
- Throws:
SVNException
-
wqBuildBaseRemove
public SVNSkel wqBuildBaseRemove(java.io.File localAbspath, boolean keepNotPresent) throws SVNException
- Throws:
SVNException
-
wqBuildBaseRemove
public SVNSkel wqBuildBaseRemove(java.io.File localAbspath, long notPresentRevision, ISVNWCDb.SVNWCDbKind notPresentKind) throws SVNException
- Throws:
SVNException
-
wqBuildBaseRemove
public static SVNSkel wqBuildBaseRemove(SVNWCDb db, java.io.File localAbspath, long notPresentRevision, ISVNWCDb.SVNWCDbKind notPresentKind) throws SVNException
- Throws:
SVNException
-
wqBuildRecordFileinfo
public SVNSkel wqBuildRecordFileinfo(java.io.File localAbspath, SVNDate setTime) throws SVNException
- Throws:
SVNException
-
wqBuildFileInstall
public SVNSkel wqBuildFileInstall(java.io.File localAbspath, java.io.File sourceAbspath, boolean useCommitTimes, boolean recordFileinfo) throws SVNException
- Throws:
SVNException
-
wqBuildFileInstall
public static SVNSkel wqBuildFileInstall(SVNWCDb db, java.io.File localAbspath, java.io.File sourceAbspath, boolean useCommitTimes, boolean recordFileinfo) throws SVNException
- Throws:
SVNException
-
wqBuildSyncFileFlags
public SVNSkel wqBuildSyncFileFlags(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
wqBuildSyncFileFlags
public static SVNSkel wqBuildSyncFileFlags(SVNWCDb db, java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
wqBuildFileRemove
public SVNSkel wqBuildFileRemove(java.io.File wriAbsPath, java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
wqBuildFileRemove
public static SVNSkel wqBuildFileRemove(SVNWCDb db, java.io.File wriAbspath, java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
wqBuildDirInstall
public SVNSkel wqBuildDirInstall(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
wqBuildDirInstall
public static SVNSkel wqBuildDirInstall(SVNWCDb db, java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
wqBuildDirRemove
public static SVNSkel wqBuildDirRemove(SVNWCDb db, java.io.File wriAbspath, java.io.File localAbspath, boolean recursive) throws SVNException
- Throws:
SVNException
-
wqBuildPrejInstall
public SVNSkel wqBuildPrejInstall(java.io.File localAbspath, SVNSkel conflictSkel) throws SVNException
- Throws:
SVNException
-
wqBuildPrejInstall
public static SVNSkel wqBuildPrejInstall(ISVNWCDb db, java.io.File localAbspath, SVNSkel conflictSkel) throws SVNException
- Throws:
SVNException
-
wqBuildSetPropertyConflictMarkerTemp
public SVNSkel wqBuildSetPropertyConflictMarkerTemp(java.io.File localAbspath, java.io.File prejFile) throws SVNException
- Throws:
SVNException
-
wqBuildPostUpgrade
public SVNSkel wqBuildPostUpgrade() throws SVNException
- Throws:
SVNException
-
wqMerge
public static SVNSkel wqMerge(SVNSkel workItem1, SVNSkel workItem2) throws SVNException
- Throws:
SVNException
-
isSingleWorkItem
private static boolean isSingleWorkItem(SVNSkel workItem)
-
wqRun
public void wqRun(java.io.File dirAbspath) throws SVNException
- Throws:
SVNException
-
dispatchWorkItem
private void dispatchWorkItem(java.io.File wcRootAbspath, SVNSkel workItem) throws SVNException
- Throws:
SVNException
-
removeBaseNode
public void removeBaseNode(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
getAndRecordFileInfo
public void getAndRecordFileInfo(java.io.File localAbspath, boolean ignoreError) throws SVNException
- Throws:
SVNException
-
syncFileFlags
public void syncFileFlags(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
maybeSetReadOnly
private boolean maybeSetReadOnly(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
maybeSetExecutable
private boolean maybeSetExecutable(java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
createPrejFile
public java.io.File createPrejFile(java.io.File localAbspath, SVNSkel conflictSkel) throws SVNException
- Throws:
SVNException
-
appendPropConflict
private void appendPropConflict(java.io.OutputStream stream, SVNSkel propSkel) throws SVNException
- Throws:
SVNException
-
messageFromSkel
private java.lang.String messageFromSkel(SVNSkel skel) throws SVNException
- Throws:
SVNException
-
maybePropValue
private SVNPropertyValue maybePropValue(java.lang.String propname, SVNSkel child) throws SVNException
- Throws:
SVNException
-
generateConflictMessage
private java.lang.String generateConflictMessage(java.lang.String propname, SVNPropertyValue original, SVNPropertyValue mine, SVNPropertyValue incoming, SVNPropertyValue incomingBase)
-
resolveConflictOnNode
public boolean resolveConflictOnNode(java.io.File localAbsPath, boolean resolveText, boolean resolveProps, SVNConflictChoice conflictChoice) throws SVNException
- Throws:
SVNException
-
resolveOneConflict
private void resolveOneConflict(java.io.File localAbsPath, boolean resolveText, java.lang.String resolveProps, boolean resolveTree, SVNConflictChoice conflictChoice) throws SVNException
- Throws:
SVNException
-
recursiveResolveConflict
private void recursiveResolveConflict(java.io.File localAbsPath, SVNDepth depth, boolean resolveText, java.lang.String resolveProps, boolean resolveTree, SVNConflictChoice conflictChoice, ISVNConflictHandler conflictHandler) throws SVNException
- Throws:
SVNException
-
resolvedConflict
public void resolvedConflict(java.io.File localAbsPath, SVNDepth depth, boolean resolveText, java.lang.String resolveProps, boolean resolveTree, SVNConflictChoice conflictChoice) throws SVNException
- Throws:
SVNException
-
attemptDeletion
private boolean attemptDeletion(java.io.File parentDir, java.io.File baseName) throws SVNException
- Throws:
SVNException
-
checkWC
public int checkWC(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
checkWC
private int checkWC(java.io.File localAbsPath, boolean check) throws SVNException
- Throws:
SVNException
-
initializeWC
public void initializeWC(java.io.File localAbspath, SVNURL url, SVNURL repositoryRoot, java.lang.String uuid, long revision, SVNDepth depth, int targetWorkingCopyFormat) throws SVNException
- Throws:
SVNException
-
initWC
private void initWC(java.io.File localAbspath, java.io.File reposRelpath, SVNURL repositoryRoot, java.lang.String uuid, long revNumber, SVNDepth depth, int workingCopyFormat) throws SVNException
- Throws:
SVNException
-
getActualTarget
public java.lang.String getActualTarget(java.io.File path) throws SVNException
- Throws:
SVNException
-
getNodeReposRelPath
public java.io.File getNodeReposRelPath(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
isChangelistMatch
public boolean isChangelistMatch(java.io.File localAbsPath, java.util.Collection<java.lang.String> changelistsSet)
-
isNodeStatusDeleted
public boolean isNodeStatusDeleted(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
getPropDiffs
public SVNWCContext.PropDiffs getPropDiffs(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
getNodeLock
public ISVNWCDb.SVNWCDbLock getNodeLock(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
getNodeChildren
public java.util.List<java.io.File> getNodeChildren(java.io.File dirAbsPath, boolean showHidden) throws SVNException
- Throws:
SVNException
-
getChildrenOfWorkingNode
public java.util.List<java.io.File> getChildrenOfWorkingNode(java.io.File dirAbsPath, boolean showHidden) throws SVNException
- Throws:
SVNException
-
getNodeDepth
public SVNDepth getNodeDepth(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
wqBuildFileCommit
public SVNSkel wqBuildFileCommit(java.io.File localAbspath, boolean propsMods) throws SVNException
- Throws:
SVNException
-
getRelativePath
private java.io.File getRelativePath(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
getRelativePath
private static java.io.File getRelativePath(SVNWCDb db, java.io.File localAbspath) throws SVNException
- Throws:
SVNException
-
ensureNoUnfinishedTransactions
public void ensureNoUnfinishedTransactions() throws SVNException
- Throws:
SVNException
-
canonicalizeURLs
public void canonicalizeURLs(java.io.File path, SVNExternalsStore externalsStore, boolean omitDefaultPort) throws SVNException
- Throws:
SVNException
-
setSqliteJournalMode
public void setSqliteJournalMode(org.tmatesoft.sqljet.core.internal.SqlJetPagerJournalMode sqliteJournalMode)
-
setSqliteTemporaryDbInMemory
public void setSqliteTemporaryDbInMemory(boolean temporaryDbInMemory)
-
conflictCreateMarker
public SVNSkel conflictCreateMarker(SVNSkel conflictSkel, java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
invokeConflictResolver
public void invokeConflictResolver(java.io.File localAbsPath, SVNSkel conflictSkel, ISVNConflictHandler conflictHandler, ISVNCanceller canceller) throws SVNException
- Throws:
SVNException
-
generatePropConflict
private boolean generatePropConflict(java.io.File localAbsPath, SVNOperation operation, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, java.lang.String propName, SVNPropertyValue baseVal, SVNPropertyValue workingVal, SVNPropertyValue incomingOldVal, SVNPropertyValue incomingNewVal, ISVNConflictHandler conflictHandler) throws SVNException
- Throws:
SVNException
-
resolveTextConflict
public SVNWCContext.TextConflictResolutionInfo resolveTextConflict(java.io.File localAbsPath, SVNOperation operation, java.io.File leftAbsPath, java.io.File rightAbsPath, SVNConflictVersion leftVersion, SVNConflictVersion rightVersion, java.io.File resultTarget, java.io.File detranslatedTarget, ISVNConflictHandler conflictHandler) throws SVNException
- Throws:
SVNException
-
evalTextConflictFuncResult
private SVNWCContext.TextConflictResolutionInfo evalTextConflictFuncResult(java.io.File localAbsPath, SVNConflictChoice choice, java.io.File leftAbsPath, java.io.File rightAbsPath, java.io.File mergedAbsPath, java.io.File detranslatedTarget) throws SVNException
- Throws:
SVNException
-
arePropsEqual
private static boolean arePropsEqual(SVNPropertyValue propertyValue1, SVNPropertyValue propertyValue2)
-
saveMergeResult
private static SVNSkel saveMergeResult(ISVNWCDb db, java.io.File localAbsPath, java.io.File sourceAbsPath) throws SVNException
- Throws:
SVNException
-
resolveTreeConflictOnNode
private boolean resolveTreeConflictOnNode(java.io.File localAbsPath, SVNConflictChoice conflictChoice) throws SVNException
- Throws:
SVNException
-
resolveTextConflictOnNode
private boolean resolveTextConflictOnNode(java.io.File localAbsPath, SVNConflictChoice conflictChoice, java.io.File mergedFile) throws SVNException
- Throws:
SVNException
-
resolvePropConflictOnNode
private boolean resolvePropConflictOnNode(java.io.File localAbsPath, java.lang.String conflictedPropName, SVNConflictChoice conflictChoice, java.io.File mergedFile) throws SVNException
- Throws:
SVNException
-
removeArtifactFileIfExists
private SVNWCContext.RemoveArtifactInfo removeArtifactFileIfExists(java.io.File wriAbsPath, java.io.File artifactFileAbsPath) throws SVNException
- Throws:
SVNException
-
getNodeBase
public ISVNWCDb.WCDbBaseInfo getNodeBase(java.io.File localAbsPath, boolean ignoreNonExisting, boolean showHidden) throws SVNException
- Throws:
SVNException
-
acquireWriteLockForResolve
public java.io.File acquireWriteLockForResolve(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
getNodePresence
public SVNWCContext.NodePresence getNodePresence(java.io.File localAbsPath, boolean baseOnly) throws SVNException
- Throws:
SVNException
-
committableExternalsBelow
public java.util.List<SVNWCContext.CommittableExternalInfo> committableExternalsBelow(java.util.List<SVNWCContext.CommittableExternalInfo> externals, java.io.File localAbsPath, SVNDepth depth) throws SVNException
- Throws:
SVNException
-
isExternalRolledOut
private boolean isExternalRolledOut(SVNWCContext.CommittableExternalInfo xInfo)
-
nodeWasMovedHere
public SVNWCContext.NodeMovedHere nodeWasMovedHere(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
nodeWasMovedAway
public SVNWCContext.NodeMovedAway nodeWasMovedAway(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
getNodeDeletedAncestor
public java.io.File getNodeDeletedAncestor(java.io.File localAbsPath) throws SVNException
- Throws:
SVNException
-
checkForObstructions
public SVNWCContext.ObstructionData checkForObstructions(java.io.File localAbsPath, boolean noWcRootCheck) throws SVNException
- Throws:
SVNException
-
convertDbKindToNodeKind
private SVNNodeKind convertDbKindToNodeKind(SVNNodeKind dbKind, ISVNWCDb.SVNWCDbStatus dbStatus, boolean showHidden)
-
deleteTreeConflict
public void deleteTreeConflict(java.io.File victimAbsPath) throws SVNException
- Throws:
SVNException
-
addTreeConflict
public void addTreeConflict(SVNWCConflictDescription17 conflict) throws SVNException
- Throws:
SVNException
-
-