private static String getReasonString(SVNTreeConflictDescription treeConflict) { SVNConflictReason reason = treeConflict.getConflictReason(); if (reason == SVNConflictReason.EDITED) { return "edit"; } else if (reason == SVNConflictReason.OBSTRUCTED) { return "obstruction"; } else if (reason == SVNConflictReason.DELETED) { return "delete"; } else if (reason == SVNConflictReason.ADDED) { return "add"; } else if (reason == SVNConflictReason.MISSING) { return "missing"; } else if (reason == SVNConflictReason.UNVERSIONED) { return "unversioned"; } return null; }
private static String getReasonString(SVNTreeConflictDescription treeConflict) { SVNConflictReason reason = treeConflict.getConflictReason(); if (reason == SVNConflictReason.EDITED) { return "edit"; } else if (reason == SVNConflictReason.OBSTRUCTED) { return "obstruction"; } else if (reason == SVNConflictReason.DELETED) { return "delete"; } else if (reason == SVNConflictReason.ADDED) { return "add"; } else if (reason == SVNConflictReason.MISSING) { return "missing"; } else if (reason == SVNConflictReason.UNVERSIONED) { return "unversioned"; } return null; }
private static String getReasonString(SVNTreeConflictDescription treeConflict) { final SVNConflictReason reason = treeConflict.getConflictReason(); if (reason == SVNConflictReason.EDITED) { return "edit"; } else if (reason == SVNConflictReason.OBSTRUCTED) { return "obstruction"; } else if (reason == SVNConflictReason.DELETED) { return "delete"; } else if (reason == SVNConflictReason.MISSING) { if (treeConflict.getOperation() == SVNOperation.MERGE) { return "missing or deleted or moved away"; } else { return "missing"; } } else if (reason == SVNConflictReason.UNVERSIONED) { return "unversioned"; } else if (reason == SVNConflictReason.ADDED) { return "add"; } else if (reason == SVNConflictReason.REPLACED) { return "replace"; } else if (reason == SVNConflictReason.MOVED_AWAY) { return "moved away"; } else if (reason == SVNConflictReason.MOVED_HERE) { return "moved here"; } return null; }
protected void recordTreeConflictOnAdd(File victim, SVNAdminArea adminArea, SVNNodeKind kind, SVNConflictAction action, SVNConflictReason reason) throws SVNException { if (myIsRecordOnly || myIsDryRun) { return; } SVNTreeConflictDescription conflict = makeTreeConflict(victim, kind, action, reason); SVNTreeConflictDescription existingConflict = myWCAccess.getTreeConflict(conflict.getPath()); if (existingConflict != null && existingConflict.getConflictAction() == SVNConflictAction.DELETE && conflict.getConflictAction() == SVNConflictAction.ADD) { adminArea.deleteTreeConflict(conflict.getPath().getName()); conflict = new SVNTreeConflictDescription(conflict.getPath(), conflict.getNodeKind(), SVNConflictAction.DELETE, existingConflict.getConflictReason(), conflict.getOperation(), existingConflict.getSourceLeftVersion(), conflict.getSourceRightVersion()); } adminArea.addTreeConflict(conflict); }
protected void recordTreeConflictOnAdd(File victim, SVNAdminArea adminArea, SVNNodeKind kind, SVNConflictAction action, SVNConflictReason reason) throws SVNException { if (myIsRecordOnly || myIsDryRun) { return; } SVNTreeConflictDescription conflict = makeTreeConflict(victim, kind, action, reason); SVNTreeConflictDescription existingConflict = myWCAccess.getTreeConflict(conflict.getPath()); if (existingConflict != null && existingConflict.getConflictAction() == SVNConflictAction.DELETE && conflict.getConflictAction() == SVNConflictAction.ADD) { adminArea.deleteTreeConflict(conflict.getPath().getName()); conflict = new SVNTreeConflictDescription(conflict.getPath(), conflict.getNodeKind(), SVNConflictAction.DELETE, existingConflict.getConflictReason(), conflict.getOperation(), existingConflict.getSourceLeftVersion(), conflict.getSourceRightVersion()); } adminArea.addTreeConflict(conflict); }
if (treeConflict != null && treeConflict.getConflictReason() == SVNConflictReason.DELETED && !inDeletedTree(fullPath, true)) { addDeletedTree(fullPath); if (hasPropConflicts || (treeConflict != null && treeConflict.getConflictReason() != SVNConflictReason.DELETED)) { return;
if (treeConflict != null && treeConflict.getConflictReason() == SVNConflictReason.DELETED && !inDeletedTree(fullPath, true)) { addDeletedTree(fullPath); if (hasPropConflicts || (treeConflict != null && treeConflict.getConflictReason() != SVNConflictReason.DELETED)) { return;
public static SVNSkel treeConflictDescriptionToSkel(ISVNWCDb db, File wriAbsPath, SVNTreeConflictDescription conflictDescription) throws SVNException { SVNSkel skel = createConflictSkel(); addTreeConflict(skel, db, wriAbsPath, conflictDescription.getConflictReason(), conflictDescription.getConflictAction(), null); if (conflictDescription.getOperation() != null) { if (conflictDescription.getOperation() == SVNOperation.UPDATE) { SvnWcDbConflicts.conflictSkelOpUpdate(skel, conflictDescription.getSourceLeftVersion(), conflictDescription.getSourceRightVersion()); } else if (conflictDescription.getOperation() == SVNOperation.SWITCH) { SvnWcDbConflicts.conflictSkelOpSwitch(skel, conflictDescription.getSourceLeftVersion(), conflictDescription.getSourceRightVersion()); } else if (conflictDescription.getOperation() == SVNOperation.MERGE) { SvnWcDbConflicts.conflictSkelOpMerge(skel, conflictDescription.getSourceLeftVersion(), conflictDescription.getSourceRightVersion()); } } return skel; }
prependVersionInfo(conflictSkel, sourceLeftVersion); conflictSkel.addChild(SVNSkel.createAtom(conflict.getConflictReason().toString())); conflictSkel.addChild(SVNSkel.createAtom(conflict.getConflictAction().toString())); conflictSkel.addChild(SVNSkel.createAtom(conflict.getOperation().toString()));
prependVersionInfo(conflictSkel, sourceLeftVersion); conflictSkel.addChild(SVNSkel.createAtom(conflict.getConflictReason().toString())); conflictSkel.addChild(SVNSkel.createAtom(conflict.getConflictAction().toString())); conflictSkel.addChild(SVNSkel.createAtom(conflict.getOperation().toString()));
public void resolveDeleteRaiseMovedAway(File localAbsPath, ISVNEventHandler eventHandler) throws SVNException { DirParsedInfo parsed = parseDir(localAbsPath, Mode.ReadOnly); SVNWCDbDir pdh = parsed.wcDbDir; File localRelPath = parsed.localRelPath; verifyDirUsable(pdh); TcInfo tcInfo = getTcInfo(localAbsPath); SVNTreeConflictDescription treeConflictDescription = tcInfo.treeConflictDescription; SVNOperation operation = treeConflictDescription.getOperation(); SVNConflictReason reason = treeConflictDescription.getConflictReason(); SVNConflictAction action = treeConflictDescription.getConflictAction(); SVNConflictVersion oldVersion = treeConflictDescription.getSourceLeftVersion(); SVNConflictVersion newVersion = treeConflictDescription.getSourceRightVersion(); ResolveDeleteRaiseMovedAway resolveDeleteRaiseMovedAway = new ResolveDeleteRaiseMovedAway(); resolveDeleteRaiseMovedAway.pdh = pdh; resolveDeleteRaiseMovedAway.localRelPath = localRelPath; resolveDeleteRaiseMovedAway.operation = operation; resolveDeleteRaiseMovedAway.action = action; resolveDeleteRaiseMovedAway.oldVersion = oldVersion; resolveDeleteRaiseMovedAway.newVersion = newVersion; pdh.getWCRoot().getSDb().runTransaction(resolveDeleteRaiseMovedAway); updateMoveListNotify(pdh.getWCRoot(), oldVersion.getPegRevision(), newVersion != null ? newVersion.getPegRevision() : SVNRepository.INVALID_REVISION, eventHandler); }
public static SVNSkel getConflictSkel(SVNConflictVersion nullVersion, SVNTreeConflictDescription conflict) throws SVNException { SVNSkel conflictSkel = SVNSkel.createEmptyList(); SVNConflictVersion sourceRightVersion = conflict.getSourceRightVersion(); sourceRightVersion = sourceRightVersion == null ? nullVersion : sourceRightVersion; prependVersionInfo(conflictSkel, sourceRightVersion); SVNConflictVersion sourceLeftVersion = conflict.getSourceLeftVersion(); sourceLeftVersion = sourceLeftVersion == null ? nullVersion : sourceLeftVersion; prependVersionInfo(conflictSkel, sourceLeftVersion); conflictSkel.prepend(SVNSkel.createAtom(conflict.getConflictReason().toString())); conflictSkel.prepend(SVNSkel.createAtom(conflict.getConflictAction().toString())); conflictSkel.prepend(SVNSkel.createAtom(conflict.getOperation().toString())); if (conflict.getNodeKind() != SVNNodeKind.DIR && conflict.getNodeKind() != SVNNodeKind.FILE) { SVNErrorMessage error = SVNErrorMessage.create(SVNErrorCode.WC_CORRUPT, "Invalid \'node_kind\' field in tree conflict description"); SVNErrorManager.error(error, SVNLogType.WC); } conflictSkel.prepend(SVNSkel.createAtom(getNodeKindString(conflict.getNodeKind()))); String path = conflict.getPath().getName(); if (path.length() == 0) { SVNErrorMessage error = SVNErrorMessage.create(SVNErrorCode.WC_CORRUPT, "Empty path basename in tree conflict description"); SVNErrorManager.error(error, SVNLogType.WC); } conflictSkel.prepend(SVNSkel.createAtom(path)); conflictSkel.prepend(SVNSkel.createAtom("conflict")); return conflictSkel; }
final SVNTreeConflictDescription tcDesc = SVNTreeConflictUtil.readSingleTreeConflict(tcSkel, localAbsPath); addTreeConflict(conflictData, db, wcRootAbsPath, tcDesc.getConflictReason(), tcDesc.getConflictAction(), null); if (tcDesc.getOperation() != null && tcDesc.getOperation() != SVNOperation.NONE) { setConflictOperation(conflictData, tcDesc.getOperation(), tcDesc.getSourceLeftVersion(), tcDesc.getSourceRightVersion());
public static SVNSkel convertToConflictSkel(String conflictOld, String conflictWorking, String conflictNew, String propReject, byte[] treeConflictData) throws SVNException { SVNSkel conflictData = null; if (conflictOld != null || conflictNew != null || conflictWorking != null) { conflictData = createConflictSkel(); addTextConflict(conflictData, conflictWorking, conflictOld, conflictNew); } if (propReject != null) { if (conflictData == null) { conflictData = createConflictSkel(); } addPropConflict(conflictData, propReject); } if (treeConflictData != null) { if (conflictData == null) { conflictData = createConflictSkel(); } final SVNSkel tcSkel = SVNSkel.parse(treeConflictData); final File fakePath = SVNFileUtil.createFilePath(""); final SVNTreeConflictDescription tcDesc = SVNTreeConflictUtil.readSingleTreeConflict(tcSkel, fakePath); addTreeConflict(conflictData, tcDesc.getConflictReason(), tcDesc.getConflictAction()); if (tcDesc.getOperation() != null && tcDesc.getOperation() != SVNOperation.NONE) { setConflictOperation(conflictData, tcDesc.getOperation(), tcDesc.getSourceLeftVersion(), tcDesc.getSourceRightVersion()); } } else if (conflictData != null) { setConflictOperation(conflictData, SVNOperation.UPDATE, null, null); } return conflictData; }
conflictDescription.setReason(tcDesc.getConflictReason()); if (tcDesc.getMergeFiles() != null) { conflictDescription.setMyFile(tcDesc.getMergeFiles().getLocalFile());
addTreeConflict(conflictData, db, wriAbsPath, treeConflictDescription.getConflictReason(), treeConflictDescription.getConflictAction(), null);
boolean hasTextConflicts = adminArea.hasTextConflict(name); boolean hasPropConflicts = adminArea.hasPropConflict(name); if (treeConflict != null && treeConflict.getConflictReason() == SVNConflictReason.DELETED && !isLocallyDeleted) { addDeletedTree(fullPath); isLocallyDeleted = true;
boolean hasTextConflicts = adminArea.hasTextConflict(name); boolean hasPropConflicts = adminArea.hasPropConflict(name); if (treeConflict != null && treeConflict.getConflictReason() == SVNConflictReason.DELETED && !isLocallyDeleted) { addDeletedTree(fullPath); isLocallyDeleted = true;
updateMovedAwayConflictVictim.wcRoot = pdh.getWCRoot(); updateMovedAwayConflictVictim.victimRelPath = localRelPath; updateMovedAwayConflictVictim.localChange = conflictDescription.getConflictReason(); updateMovedAwayConflictVictim.incomingChange = conflictDescription.getConflictAction(); updateMovedAwayConflictVictim.moveSrcOpRootRelPath = moveSrcOpRootRelPath;
boolean hasTextConflicts = adminArea.hasTextConflict(name); boolean hasPropConflicts = adminArea.hasPropConflict(name); if (treeConflict != null && treeConflict.getConflictReason() == SVNConflictReason.DELETED && !isLocallyDeleted) { addDeletedTree(fullPath); isLocallyDeleted = true;