public String toString() { final StringBuffer buffer = new StringBuffer(); buffer.append("[Conflict descriptor: merge files = "); buffer.append(getMergeFiles()); buffer.append("; kind = "); buffer.append(getNodeKind()); buffer.append("; reason = "); buffer.append(getConflictReason()); buffer.append("; action = "); buffer.append(getConflictAction()); buffer.append("; property conflicts = "); buffer.append(isPropertyConflict()); buffer.append("; property name = "); buffer.append(getPropertyName()); buffer.append("]"); return buffer.toString(); } }
private ConflictDescriptor.Kind getConflictDescriptorKind(SVNConflictDescription conflictDescription) { if (conflictDescription == null) { return null; } if (conflictDescription.isTextConflict()) { return ConflictDescriptor.Kind.text; } else if (conflictDescription.isPropertyConflict()) { return ConflictDescriptor.Kind.property; } else if (conflictDescription.isTreeConflict()) { return ConflictDescriptor.Kind.tree; } else { throw new IllegalArgumentException("Unknown conflict kind: " + conflictDescription); } }
File getPrejfileAbspath(File localAbspath) throws SVNException { List<SVNConflictDescription> conflicts = db.readConflicts(localAbspath); for (SVNConflictDescription cd : conflicts) { if (cd.isPropertyConflict()) { if (cd.getMergeFiles().getRepositoryPath().equals(THIS_DIR_PREJ + PROP_REJ_EXT)) { return SVNFileUtil.createFilePath(localAbspath, THIS_DIR_PREJ + PROP_REJ_EXT); } return SVNFileUtil.createFilePath(cd.getMergeFiles().getRepositoryPath()); } } return null; }
private ConflictDescriptor getConflictDescription(SVNConflictDescription conflictDescription) throws ClientException { ConflictVersion srcLeft = null; ConflictVersion srcRight = null; ConflictDescriptor.Operation operation = Operation.none; if (conflictDescription instanceof SVNTreeConflictDescription) { SVNTreeConflictDescription treeConflictDescription = (SVNTreeConflictDescription) conflictDescription; srcLeft = getConflictVersion(treeConflictDescription.getSourceLeftVersion()); srcRight = getConflictVersion(treeConflictDescription.getSourceRightVersion()); operation = getConflictDescriptorOperation(treeConflictDescription.getOperation()); } return new ConflictDescriptor( getFilePath(conflictDescription.getPath()), getConflictDescriptorKind(conflictDescription), getNodeKind(conflictDescription.getNodeKind()), conflictDescription.getPropertyName(), conflictDescription.getMergeFiles().isBinary(), conflictDescription.getMergeFiles().getMimeType(), getConflictDescriptorAction(conflictDescription.getConflictAction()), getConflictDescriptorReason(conflictDescription.getConflictReason()), operation, getFilePath(conflictDescription.getMergeFiles().getBaseFile()), getFilePath(conflictDescription.getMergeFiles().getRepositoryFile()), getFilePath(conflictDescription.getMergeFiles().getLocalFile()), getFilePath(conflictDescription.getMergeFiles().getResultFile()), srcLeft, srcRight ); }
if (desc.isTreeConflict()) { if (!resolveTree) break; break; else if (desc.isTextConflict()) { if (!resolveText) break; break; else if (desc.isPropertyConflict()) { if ("".equals(resolveProps)) break; if ("".equals(resolveProps) && !resolveProps.equals(desc.getPropertyName())) break; /* Skip this property conflict */
if (conflicts != null) { for (SVNConflictDescription conflictDescription : conflicts) { if (conflictDescription.isTreeConflict() && conflictDescription instanceof SVNTreeConflictDescription) { treeConflict = (SVNTreeConflictDescription) conflictDescription; } else if (conflictDescription.isTextConflict()) { if (conflictDescription.getMergeFiles() != null) { if (conflictDescription.getMergeFiles().getBaseFile() != null) { conflictOld = conflictDescription.getMergeFiles().getBaseFile().getName(); if (conflictDescription.getMergeFiles().getRepositoryFile() != null) { conflictNew = conflictDescription.getMergeFiles().getRepositoryFile().getName(); if (conflictDescription.getMergeFiles().getLocalFile() != null) { conflictWorking = conflictDescription.getMergeFiles().getLocalFile().getName(); } else if (conflictDescription.isPropertyConflict()) { if (conflictDescription.getMergeFiles() != null) { propRejectFile = conflictDescription.getMergeFiles().getRepositoryFile().getName();
if (!keepLocal && conflicts != null) { for (SVNConflictDescription conflict : conflicts) { if (conflict.isTextConflict()) { if (conflict.getMergeFiles() != null) { SVNFileUtil.deleteFile(conflict.getMergeFiles().getBaseFile()); SVNFileUtil.deleteFile(conflict.getMergeFiles().getRepositoryFile()); SVNFileUtil.deleteFile(conflict.getMergeFiles().getLocalFile()); } else if (conflict.isPropertyConflict() && conflict.getMergeFiles() != null) { SVNFileUtil.deleteFile(conflict.getMergeFiles().getRepositoryFile());
conflictDescription = setupTreeConflictDesc(localAbsPath, operation, leftVersion, rightVersion, conflictDescription.getConflictReason(), conflictDescription.getConflictAction()); conflictHandler.handleConflict(conflictDescription);
/** * Returns the working copy path which resulted in a conflict. * * @return working copy path * @since 1.3 */ public File getPath() { return getMergeFiles().getWCFile(); }
public SVNTreeConflictDescription opReadTreeConflict(File localAbsPath) throws SVNException { final List<SVNConflictDescription> conflicts = readConflicts(localAbsPath); if (conflicts == null || conflicts.isEmpty()) { return null; } for (SVNConflictDescription conflictDescription : conflicts) { if (conflictDescription.isTreeConflict()) { return (SVNTreeConflictDescription) conflictDescription; } } return null; }
public SVNConflictResult handleConflict(SVNConflictDescription conflictDescription) throws SVNException { SVNConflictResult conflictResult = handleConflictNoStats(conflictDescription); if (conflictResult != null && conflictResult.getConflictChoice() != SVNConflictChoice.POSTPONE) { SVNConflictStats conflictStats = getConflictStats(); if (conflictDescription instanceof SVNTextConflictDescription) { conflictStats.incrementTextConflictsResolved(SVNFileUtil.getFilePath(conflictDescription.getPath())); } else if (conflictDescription instanceof SVNPropertyConflictDescription) { conflictStats.incrementPropConflictsResolved(SVNFileUtil.getFilePath(conflictDescription.getPath())); } else if (conflictDescription instanceof SVNTreeConflictDescription) { conflictStats.incrementTreeConflictsResolved(SVNFileUtil.getFilePath(conflictDescription.getPath())); } else { SVNErrorMessage errorMessage = SVNErrorMessage.create(SVNErrorCode.ASSERTION_FAIL, "Invalid conflict kind on ''{0}''", conflictDescription.getPath()); SVNErrorManager.error(errorMessage, SVNLogType.WC); } } return conflictResult; }
if (conflictDescription.isTreeConflict()) { if (!resolveTree) { break; } else if (conflictDescription.isTextConflict()) { if (!resolveText) { break; resolved = true; } else if (conflictDescription.isPropertyConflict()) { if (resolveProp == null) { break; if (resolveProp.length() != 0 && !resolveProp.equals(conflictDescription.getPropertyName())) { break; boolean didResolve = resolvePropConflictOnNode(localAbsPath, conflictDescription.getPropertyName(), myChoice, mergeFile); if (didResolve) { resolved = true;
final SVNMergeFileSet cdf = cd.getMergeFiles(); if (isTextNeed && cd.isTextConflict()) { boolean done = false; resolvedText = true; } else if (isPropNeed && cd.isPropertyConflict()) { if (cdf.getRepositoryFile() != null) { final File path = SVNFileUtil.isAbsolute(cdf.getRepositoryFile()) ? cdf.getRepositoryFile() : SVNFileUtil.createFilePath(rootPath, cdf.getRepositoryFile()); } else if (isTreeNeed && cd.isTreeConflict()) { info.treeConflicted = true; info.treeConflict = (SVNTreeConflictDescription) cd;
conflicts = getDb().readConflicts(localAbsPath); for (SVNConflictDescription desc : conflicts) { if (desc.isTextConflict()) { conflictOld = desc.getMergeFiles().getBaseFile(); conflictNew = desc.getMergeFiles().getRepositoryFile(); conflictWorking = desc.getMergeFiles().getLocalFile(); } else if (desc.isPropertyConflict()) { propRejectFile = desc.getMergeFiles().getRepositoryFile();
/** * Returns the working copy path which resulted in a conflict. * * @return working copy path * @since 1.3 */ public File getPath() { return getMergeFiles().getWCFile(); }
public SVNConflictResult handleConflict(SVNConflictDescription conflictDescription) throws SVNException { SVNConflictResult conflictResult = handleConflictNoStats(conflictDescription); if (conflictResult != null && conflictResult.getConflictChoice() != SVNConflictChoice.POSTPONE) { SVNConflictStats conflictStats = getConflictStats(); if (conflictDescription instanceof SVNTextConflictDescription) { conflictStats.incrementTextConflictsResolved(SVNFileUtil.getFilePath(conflictDescription.getPath())); } else if (conflictDescription instanceof SVNPropertyConflictDescription) { conflictStats.incrementPropConflictsResolved(SVNFileUtil.getFilePath(conflictDescription.getPath())); } else if (conflictDescription instanceof SVNTreeConflictDescription) { conflictStats.incrementTreeConflictsResolved(SVNFileUtil.getFilePath(conflictDescription.getPath())); } else { SVNErrorMessage errorMessage = SVNErrorMessage.create(SVNErrorCode.ASSERTION_FAIL, "Invalid conflict kind on ''{0}''", conflictDescription.getPath()); SVNErrorManager.error(errorMessage, SVNLogType.WC); } } return conflictResult; }
public String toString() { final StringBuffer buffer = new StringBuffer(); buffer.append("[Conflict descriptor: merge files = "); buffer.append(getMergeFiles()); buffer.append("; kind = "); buffer.append(getNodeKind()); buffer.append("; reason = "); buffer.append(getConflictReason()); buffer.append("; action = "); buffer.append(getConflictAction()); buffer.append("; property conflicts = "); buffer.append(isPropertyConflict()); buffer.append("; property name = "); buffer.append(getPropertyName()); buffer.append("]"); return buffer.toString(); } }
private NodeAlreadyConflictedInfo isNodeAlreadyConflicted(File localAbspath) throws SVNException { NodeAlreadyConflictedInfo alreadyConflictedInfo = new NodeAlreadyConflictedInfo(); List<SVNConflictDescription> conflicts = myWCContext.getDb().readConflicts(localAbspath); for (SVNConflictDescription cd : conflicts) { if (cd.isTreeConflict()) { alreadyConflictedInfo.conflicted = true; alreadyConflictedInfo.conflictIgnored = false; return alreadyConflictedInfo; } else if (cd.isPropertyConflict() || cd.isTextConflict()) { SVNWCContext.ConflictInfo info = myWCContext.getConflicted(localAbspath, true, true, true); alreadyConflictedInfo.conflicted = info.textConflicted || info.propConflicted || info.treeConflicted; alreadyConflictedInfo.conflictIgnored = info.ignored; return alreadyConflictedInfo; } } alreadyConflictedInfo.conflicted = false; alreadyConflictedInfo.conflictIgnored = false; return alreadyConflictedInfo; }
/** * Returns the working copy path which resulted in a conflict. * * @return working copy path * @since 1.3 */ public File getPath() { return getMergeFiles().getWCFile(); }
if (conflictResolver != null && recordConflictsResolver.hasConflicts()) { for (SVNConflictDescription conflictDescription : recordConflictsResolver.getConflicts()) { getWcContext().resolvedConflict(conflictDescription.getPath(), SVNDepth.UNKNOWN, true, null, true, null);