public class SvnDiffGenerator extends java.lang.Object implements ISvnDiffGenerator
| Modifier and Type | Class and Description |
|---|---|
private class |
SvnDiffGenerator.EmptyDetectionOutputStream |
| Modifier and Type | Field and Description |
|---|---|
private SvnTarget |
baseTarget |
private boolean |
diffAdded |
private boolean |
diffDeleted |
private SVNDiffOptions |
diffOptions |
private java.lang.String |
encoding |
private byte[] |
eol |
private java.lang.String |
externalDiffCommand |
private boolean |
fallbackToAbsolutePath |
private boolean |
forcedBinaryDiff |
private boolean |
forceEmpty |
protected static java.lang.String |
HEADER_ENCODING |
protected static java.lang.String |
HEADER_SEPARATOR |
private boolean |
ignoreProperties |
private ISVNOptions |
options |
private SvnTarget |
originalTarget1 |
private SvnTarget |
originalTarget2 |
protected static java.lang.String |
PROPERTIES_SEPARATOR |
private boolean |
propertiesOnly |
private java.util.List<java.lang.String> |
rawDiffOptions |
private SvnTarget |
relativeToTarget |
private SvnTarget |
repositoryRoot |
private boolean |
useGitFormat |
private java.util.Set<java.lang.String> |
visitedPaths |
protected static java.lang.String |
WC_REVISION_LABEL |
| Constructor and Description |
|---|
SvnDiffGenerator() |
| Modifier and Type | Method and Description |
|---|---|
private java.lang.String |
adjustRelativeToReposRoot(java.lang.String targetString) |
private java.lang.String |
computeLabel(java.lang.String targetString,
java.lang.String originalTargetString) |
void |
displayAddedDirectory(SvnTarget target,
java.lang.String revision1,
java.lang.String revision2,
java.io.OutputStream outputStream) |
private void |
displayBinary(java.lang.String mimeType1,
java.lang.String mimeType2,
java.io.OutputStream outputStream,
boolean leftIsBinary,
boolean rightIsBinary) |
private void |
displayCannotDisplayFileMarkedBinary(java.io.OutputStream outputStream) |
void |
displayContentChanged(SvnTarget target,
java.io.File leftFile,
java.io.File rightFile,
java.lang.String revision1,
java.lang.String revision2,
java.lang.String mimeType1,
java.lang.String mimeType2,
SvnDiffCallback.OperationKind operation,
java.io.File copyFromPath,
SVNProperties originalProperties,
SVNProperties propChanges,
java.io.OutputStream outputStream) |
void |
displayDeletedDirectory(SvnTarget target,
java.lang.String revision1,
java.lang.String revision2,
java.io.OutputStream outputStream) |
private void |
displayEOL(java.io.OutputStream os) |
private void |
displayFirstGitLabelPath(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String revision1,
SvnDiffCallback.OperationKind operation) |
private void |
displayFirstGitPath(java.io.OutputStream outputStream,
java.lang.String path1) |
private void |
displayGitDiffHeader(java.io.OutputStream outputStream,
SvnDiffCallback.OperationKind operationKind,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath) |
private void |
displayGitDiffHeaderAdded(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath) |
private void |
displayGitDiffHeaderCopied(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath) |
private void |
displayGitDiffHeaderDeleted(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath) |
private void |
displayGitDiffHeaderModified(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath) |
private void |
displayGitDiffHeaderRenamed(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath) |
private void |
displayGitHeaderFields(java.io.OutputStream outputStream,
SvnTarget target,
java.lang.String revision1,
java.lang.String revision2,
SvnDiffCallback.OperationKind operation,
java.lang.String copyFromPath) |
private void |
displayGitPath(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String pathPrefix,
boolean label) |
protected boolean |
displayHeader(java.io.OutputStream os,
java.lang.String path,
boolean deleted,
boolean added,
SvnDiffCallback.OperationKind operation) |
protected void |
displayHeaderFields(java.io.OutputStream os,
java.lang.String label1,
java.lang.String label2) |
private void |
displayMergeInfoDiff(java.io.OutputStream outputStream,
java.lang.String oldValue,
java.lang.String newValue) |
private void |
displayMimeType(java.io.OutputStream outputStream,
java.lang.String mimeType) |
private void |
displayMimeTypes(java.io.OutputStream outputStream,
java.lang.String mimeType1,
java.lang.String mimeType2) |
private void |
displayPropDiffValues(java.io.OutputStream outputStream,
SVNProperties diff,
SVNProperties baseProps) |
private void |
displayPropertyChangesOn(java.lang.String path,
java.io.OutputStream outputStream) |
void |
displayPropsChanged(SvnTarget target,
java.lang.String revision1,
java.lang.String revision2,
boolean dirWasAdded,
SVNProperties originalProps,
SVNProperties propChanges,
java.io.OutputStream outputStream) |
private void |
displaySecondGitLabelPath(java.io.OutputStream outputStream,
java.lang.String path2,
java.lang.String revision2,
SvnDiffCallback.OperationKind operation) |
private void |
displaySecondGitPath(java.io.OutputStream outputStream,
java.lang.String path2) |
private void |
displayString(java.io.OutputStream outputStream,
java.lang.String s) |
private void |
ensureEncodingAndEOLSet() |
private java.lang.String |
getAdjustedPath(java.lang.String displayPath,
java.lang.String path1,
java.lang.String commonAncestor) |
private java.lang.String |
getAdjustedPathWithLabel(java.lang.String displayPath,
java.lang.String path,
java.lang.String revision,
java.lang.String commonAncestor) |
private java.lang.String |
getChildPath(java.lang.String path,
java.lang.String relativeToPath) |
SVNDiffOptions |
getDiffOptions() |
private java.lang.String |
getDisplayPath(SvnTarget target) |
java.lang.String |
getEncoding() |
byte[] |
getEOL() |
private java.lang.String |
getExternalDiffCommand() |
private java.lang.String |
getGitDiffLabel1(SvnDiffCallback.OperationKind operationKind,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath,
java.lang.String revision) |
private java.lang.String |
getGitDiffLabel2(SvnDiffCallback.OperationKind operationKind,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath,
java.lang.String revision) |
java.lang.String |
getGlobalEncoding() |
private java.lang.String |
getHeaderFieldsString(SvnTarget target,
java.lang.String displayPath,
java.lang.String label1,
java.lang.String label2,
java.lang.String revision1,
java.lang.String revision2,
SvnDiffCallback.OperationKind operation,
java.lang.String copyFromPath) |
private java.lang.String |
getHeaderString(SvnTarget target,
java.lang.String displayPath,
boolean deleted,
boolean added,
SvnDiffCallback.OperationKind operation,
java.lang.String copyFromPath) |
protected java.lang.String |
getLabel(java.lang.String path,
java.lang.String revToken) |
ISVNOptions |
getOptions() |
private byte[] |
getPropertyAsBytes(SVNPropertyValue value,
java.lang.String encoding) |
private java.lang.String |
getRelativePath(java.lang.String targetString,
java.lang.String baseTargetString) |
private java.lang.String |
getRelativeToRootPath(SvnTarget target,
SvnTarget originalTarget) |
private void |
internalDiff(SvnTarget target,
java.io.OutputStream outputStream,
java.lang.String displayPath,
java.io.File file1,
java.io.File file2,
java.lang.String label1,
java.lang.String label2,
SvnDiffCallback.OperationKind operation,
java.lang.String copyFromPath,
java.lang.String revision1,
java.lang.String revision2) |
boolean |
isDiffAdded() |
boolean |
isDiffDeleted() |
boolean |
isForcedBinaryDiff() |
boolean |
isIgnoreProperties() |
boolean |
isPropertiesOnly() |
private byte[] |
maybeAppendEOL(byte[] buffer) |
private void |
runExternalDiffCommand(java.io.OutputStream outputStream,
java.lang.String diffCommand,
java.io.File file1,
java.io.File file2,
java.lang.String label1,
java.lang.String label2) |
void |
setAnchors(SvnTarget originalTarget1,
SvnTarget originalTarget2) |
void |
setBasePath(java.io.File absoluteFile) |
void |
setBaseTarget(SvnTarget baseTarget) |
void |
setDiffAdded(boolean diffAdded) |
void |
setDiffDeleted(boolean diffDeleted) |
void |
setDiffOptions(SVNDiffOptions diffOptions) |
void |
setEncoding(java.lang.String encoding) |
void |
setEOL(byte[] eol) |
void |
setExternalDiffCommand(java.lang.String externalDiffCommand) |
void |
setFallbackToAbsolutePath(boolean fallbackToAbsolutePath) |
void |
setForcedBinaryDiff(boolean forcedBinaryDiff) |
void |
setForceEmpty(boolean forceEmpty) |
void |
setIgnoreProperties(boolean ignoreProperties) |
void |
setOptions(ISVNOptions options) |
void |
setOriginalTargets(SvnTarget originalTarget1,
SvnTarget originalTarget2) |
void |
setPropertiesOnly(boolean propertiesOnly) |
void |
setRawDiffOptions(java.util.List<java.lang.String> rawDiffOptions) |
void |
setRelativeToTarget(SvnTarget relativeToTarget) |
void |
setRepositoryRoot(SvnTarget repositoryRoot) |
void |
setUseGitFormat(boolean useGitFormat) |
private void |
throwBadRelativePathException(java.lang.String displayPath,
java.lang.String relativeToPath) |
private boolean |
useLocalFileSeparatorChar() |
private void |
wrapException(java.io.IOException e) |
protected static final java.lang.String WC_REVISION_LABEL
protected static final java.lang.String PROPERTIES_SEPARATOR
protected static final java.lang.String HEADER_SEPARATOR
protected static final java.lang.String HEADER_ENCODING
private SvnTarget originalTarget1
private SvnTarget originalTarget2
private SvnTarget baseTarget
private SvnTarget relativeToTarget
private SvnTarget repositoryRoot
private java.lang.String encoding
private byte[] eol
private boolean useGitFormat
private boolean forcedBinaryDiff
private boolean diffDeleted
private boolean diffAdded
private java.util.List<java.lang.String> rawDiffOptions
private boolean forceEmpty
private java.util.Set<java.lang.String> visitedPaths
private java.lang.String externalDiffCommand
private SVNDiffOptions diffOptions
private boolean fallbackToAbsolutePath
private ISVNOptions options
private boolean propertiesOnly
private boolean ignoreProperties
private java.lang.String getDisplayPath(SvnTarget target)
private java.lang.String getRelativeToRootPath(SvnTarget target, SvnTarget originalTarget)
private java.lang.String getRelativePath(java.lang.String targetString,
java.lang.String baseTargetString)
private java.lang.String getChildPath(java.lang.String path,
java.lang.String relativeToPath)
public void setBaseTarget(SvnTarget baseTarget)
setBaseTarget in interface ISvnDiffGeneratorpublic void setUseGitFormat(boolean useGitFormat)
setUseGitFormat in interface ISvnDiffGeneratorpublic void setOriginalTargets(SvnTarget originalTarget1, SvnTarget originalTarget2)
setOriginalTargets in interface ISvnDiffGeneratorpublic void setRelativeToTarget(SvnTarget relativeToTarget)
public void setAnchors(SvnTarget originalTarget1, SvnTarget originalTarget2)
setAnchors in interface ISvnDiffGeneratorpublic void setRepositoryRoot(SvnTarget repositoryRoot)
setRepositoryRoot in interface ISvnDiffGeneratorpublic void setForceEmpty(boolean forceEmpty)
setForceEmpty in interface ISvnDiffGeneratorpublic void setEncoding(java.lang.String encoding)
setEncoding in interface ISvnDiffGeneratorpublic java.lang.String getEncoding()
getEncoding in interface ISvnDiffGeneratorpublic java.lang.String getGlobalEncoding()
getGlobalEncoding in interface ISvnDiffGeneratorpublic void setEOL(byte[] eol)
setEOL in interface ISvnDiffGeneratorpublic byte[] getEOL()
getEOL in interface ISvnDiffGeneratorpublic boolean isForcedBinaryDiff()
isForcedBinaryDiff in interface ISvnDiffGeneratorpublic void setForcedBinaryDiff(boolean forcedBinaryDiff)
setForcedBinaryDiff in interface ISvnDiffGeneratorpublic boolean isPropertiesOnly()
public void setPropertiesOnly(boolean propertiesOnly)
public boolean isIgnoreProperties()
public void setIgnoreProperties(boolean ignoreProperties)
public void displayDeletedDirectory(SvnTarget target, java.lang.String revision1, java.lang.String revision2, java.io.OutputStream outputStream) throws SVNException
displayDeletedDirectory in interface ISvnDiffGeneratorSVNExceptionpublic void displayAddedDirectory(SvnTarget target, java.lang.String revision1, java.lang.String revision2, java.io.OutputStream outputStream) throws SVNException
displayAddedDirectory in interface ISvnDiffGeneratorSVNExceptionpublic void displayPropsChanged(SvnTarget target, java.lang.String revision1, java.lang.String revision2, boolean dirWasAdded, SVNProperties originalProps, SVNProperties propChanges, java.io.OutputStream outputStream) throws SVNException
displayPropsChanged in interface ISvnDiffGeneratorSVNExceptionprivate void throwBadRelativePathException(java.lang.String displayPath,
java.lang.String relativeToPath)
throws SVNException
SVNExceptionprivate void displayGitHeaderFields(java.io.OutputStream outputStream,
SvnTarget target,
java.lang.String revision1,
java.lang.String revision2,
SvnDiffCallback.OperationKind operation,
java.lang.String copyFromPath)
throws SVNException
SVNExceptionprivate java.lang.String adjustRelativeToReposRoot(java.lang.String targetString)
private java.lang.String computeLabel(java.lang.String targetString,
java.lang.String originalTargetString)
public void displayContentChanged(SvnTarget target, java.io.File leftFile, java.io.File rightFile, java.lang.String revision1, java.lang.String revision2, java.lang.String mimeType1, java.lang.String mimeType2, SvnDiffCallback.OperationKind operation, java.io.File copyFromPath, SVNProperties originalProperties, SVNProperties propChanges, java.io.OutputStream outputStream) throws SVNException
displayContentChanged in interface ISvnDiffGeneratorSVNExceptionprivate void displayBinary(java.lang.String mimeType1,
java.lang.String mimeType2,
java.io.OutputStream outputStream,
boolean leftIsBinary,
boolean rightIsBinary)
throws SVNException
SVNExceptionprivate void internalDiff(SvnTarget target, java.io.OutputStream outputStream, java.lang.String displayPath, java.io.File file1, java.io.File file2, java.lang.String label1, java.lang.String label2, SvnDiffCallback.OperationKind operation, java.lang.String copyFromPath, java.lang.String revision1, java.lang.String revision2) throws SVNException
SVNExceptionprivate java.lang.String getHeaderFieldsString(SvnTarget target, java.lang.String displayPath, java.lang.String label1, java.lang.String label2, java.lang.String revision1, java.lang.String revision2, SvnDiffCallback.OperationKind operation, java.lang.String copyFromPath) throws SVNException
SVNExceptionprivate java.lang.String getHeaderString(SvnTarget target, java.lang.String displayPath, boolean deleted, boolean added, SvnDiffCallback.OperationKind operation, java.lang.String copyFromPath) throws SVNException
SVNExceptionprivate void runExternalDiffCommand(java.io.OutputStream outputStream,
java.lang.String diffCommand,
java.io.File file1,
java.io.File file2,
java.lang.String label1,
java.lang.String label2)
throws SVNException
SVNExceptionprivate java.lang.String getExternalDiffCommand()
private void displayMimeType(java.io.OutputStream outputStream,
java.lang.String mimeType)
throws SVNException
SVNExceptionprivate void displayMimeTypes(java.io.OutputStream outputStream,
java.lang.String mimeType1,
java.lang.String mimeType2)
throws SVNException
SVNExceptionprivate void displayCannotDisplayFileMarkedBinary(java.io.OutputStream outputStream)
throws SVNException
SVNExceptionprivate void ensureEncodingAndEOLSet()
private void displayPropDiffValues(java.io.OutputStream outputStream,
SVNProperties diff,
SVNProperties baseProps)
throws SVNException
SVNExceptionprivate byte[] maybeAppendEOL(byte[] buffer)
private java.lang.String getGitDiffLabel1(SvnDiffCallback.OperationKind operationKind, java.lang.String path1, java.lang.String path2, java.lang.String copyFromPath, java.lang.String revision)
private java.lang.String getGitDiffLabel2(SvnDiffCallback.OperationKind operationKind, java.lang.String path1, java.lang.String path2, java.lang.String copyFromPath, java.lang.String revision)
private void displayGitDiffHeader(java.io.OutputStream outputStream,
SvnDiffCallback.OperationKind operationKind,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath)
throws SVNException
SVNExceptionprivate void displayGitDiffHeaderAdded(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath)
throws SVNException
SVNExceptionprivate void displayGitDiffHeaderDeleted(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath)
throws SVNException
SVNExceptionprivate void displayGitDiffHeaderCopied(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath)
throws SVNException
SVNExceptionprivate void displayGitDiffHeaderRenamed(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath)
throws SVNException
SVNExceptionprivate void displayGitDiffHeaderModified(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String path2,
java.lang.String copyFromPath)
throws SVNException
SVNExceptionprivate void displayFirstGitPath(java.io.OutputStream outputStream,
java.lang.String path1)
throws java.io.IOException
java.io.IOExceptionprivate void displaySecondGitPath(java.io.OutputStream outputStream,
java.lang.String path2)
throws java.io.IOException
java.io.IOExceptionprivate void displayFirstGitLabelPath(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String revision1,
SvnDiffCallback.OperationKind operation)
throws java.io.IOException
java.io.IOExceptionprivate void displaySecondGitLabelPath(java.io.OutputStream outputStream,
java.lang.String path2,
java.lang.String revision2,
SvnDiffCallback.OperationKind operation)
throws java.io.IOException
java.io.IOExceptionprivate void displayGitPath(java.io.OutputStream outputStream,
java.lang.String path1,
java.lang.String pathPrefix,
boolean label)
throws java.io.IOException
java.io.IOExceptionprivate java.lang.String getAdjustedPathWithLabel(java.lang.String displayPath,
java.lang.String path,
java.lang.String revision,
java.lang.String commonAncestor)
private java.lang.String getAdjustedPath(java.lang.String displayPath,
java.lang.String path1,
java.lang.String commonAncestor)
protected java.lang.String getLabel(java.lang.String path,
java.lang.String revToken)
protected boolean displayHeader(java.io.OutputStream os,
java.lang.String path,
boolean deleted,
boolean added,
SvnDiffCallback.OperationKind operation)
throws SVNException
SVNExceptionprotected void displayHeaderFields(java.io.OutputStream os,
java.lang.String label1,
java.lang.String label2)
throws SVNException
SVNExceptionprivate void displayPropertyChangesOn(java.lang.String path,
java.io.OutputStream outputStream)
throws SVNException
SVNExceptionprivate byte[] getPropertyAsBytes(SVNPropertyValue value, java.lang.String encoding)
private void displayMergeInfoDiff(java.io.OutputStream outputStream,
java.lang.String oldValue,
java.lang.String newValue)
throws SVNException,
java.io.IOException
SVNExceptionjava.io.IOExceptionprivate boolean useLocalFileSeparatorChar()
public boolean isDiffDeleted()
public boolean isDiffAdded()
private void wrapException(java.io.IOException e)
throws SVNException
SVNExceptionprivate void displayString(java.io.OutputStream outputStream,
java.lang.String s)
throws java.io.IOException
java.io.IOExceptionprivate void displayEOL(java.io.OutputStream os)
throws java.io.IOException
java.io.IOExceptionpublic SVNDiffOptions getDiffOptions()
public void setExternalDiffCommand(java.lang.String externalDiffCommand)
public void setRawDiffOptions(java.util.List<java.lang.String> rawDiffOptions)
public void setDiffOptions(SVNDiffOptions diffOptions)
public void setDiffDeleted(boolean diffDeleted)
public void setDiffAdded(boolean diffAdded)
public void setBasePath(java.io.File absoluteFile)
public void setFallbackToAbsolutePath(boolean fallbackToAbsolutePath)
public void setOptions(ISVNOptions options)
public ISVNOptions getOptions()