|
SVNKit Home | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.tmatesoft.svn.core.wc.DefaultSVNDiffGenerator
DefaultSVNDiffGenerator is a default implementation of ISVNDiffGenerator.
By default, if there's no any specified implementation of the diff generator's
interface, SVNKit uses this default implementation. To set a custom
diff driver use setDiffGenerator()
.
Field Summary | |
protected static InputStream |
EMPTY_FILE_IS
|
protected static byte[] |
EOL
|
protected static byte[] |
HEADER_SEPARATOR
|
protected static byte[] |
PROPERTIES_SEPARATOR
|
protected static String |
WC_REVISION_LABEL
|
Constructor Summary | |
DefaultSVNDiffGenerator()
Constructs a DefaultSVNDiffGenerator. |
Method Summary | |
File |
createTempDirectory()
Creates a temporary directory (when necessary) where temporary files will be created. |
void |
displayAddedDirectory(String path,
String rev1,
String rev2)
Does nothing. |
protected void |
displayBinary(OutputStream os,
String mimeType1,
String mimeType2)
|
void |
displayDeletedDirectory(String path,
String rev1,
String rev2)
Does nothing. |
void |
displayFileDiff(String path,
File file1,
File file2,
String rev1,
String rev2,
String mimeType1,
String mimeType2,
OutputStream result)
Generates and writes differences between two files to the specified output stream. |
protected boolean |
displayHeader(OutputStream os,
String path,
boolean deleted)
|
protected void |
displayHeaderFields(OutputStream os,
String path1,
String rev1,
String path2,
String rev2)
|
void |
displayPropDiff(String path,
Map baseProps,
Map diff,
OutputStream result)
Writes the differences in file properties to the specified output stream. |
protected File |
getBasePath()
|
SVNDiffOptions |
getDiffOptions()
Gets the diff options that are used by this generator. |
protected String |
getDisplayPath(String path)
|
String |
getEncoding()
Gets the encoding charset being in use for a diff output. |
void |
init(String anchorPath1,
String anchorPath2)
Initializes the driver setting up the paths/URLs that should be compared, or root paths/URLs for those paths to which a diff operation should be restricted. |
boolean |
isDiffAdded()
Tells whether added files are enabled to be diffed. |
boolean |
isDiffCopied()
Tells whether copied files are enabled to be diffed against their copy sources. |
boolean |
isDiffDeleted()
Tells whether deleted files are enabled to be diffed. |
boolean |
isDiffUnversioned()
Says if unversioned files are also diffed or ignored. |
boolean |
isForcedBinaryDiff()
|
protected boolean |
isHeaderForced(File file1,
File file2)
|
void |
setBasePath(File basePath)
Sets the root path for this diff generator. |
void |
setDiffAdded(boolean isDiffAdded)
Enables or disables generating differences for added files. |
void |
setDiffCopied(boolean isDiffCopied)
Enables or disables generating differences against copy source for copied files. |
void |
setDiffDeleted(boolean isDiffDeleted)
Enables or disables generating differences for deleted files. |
void |
setDiffOptions(SVNDiffOptions options)
Sets diff options containing diff rules. |
void |
setDiffUnversioned(boolean diffUnversioned)
Includes or not unversioned files into diff processing. |
void |
setEncoding(String encoding)
Sets the encoding charset to be used for a diff output. |
void |
setForcedBinaryDiff(boolean forced)
Enables or disables generating differnces between files having a binary MIME type. |
protected boolean |
useLocalFileSeparatorChar()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static final byte[] PROPERTIES_SEPARATOR
protected static final byte[] HEADER_SEPARATOR
protected static final byte[] EOL
protected static final String WC_REVISION_LABEL
protected static final InputStream EMPTY_FILE_IS
Constructor Detail |
public DefaultSVNDiffGenerator()
Method Detail |
public void init(String anchorPath1, String anchorPath2)
ISVNDiffGenerator
These paths have got the same meaning as OLD-TGT (anchorPath1
)
and NEW-TGT (anchorPath2
) in the SVN command line client's
'svn diff' command. So, they can be either local paths, or URLs pointing to
repository locations. If one of them (or both) is a URL it may differ from that
one passed to an appropriate doDiff() method of SVNDiffClient in that
case when in a peg revision it's one URL, but in the target revision it was changed
(moved?) to some other one. So, this method should receive the real one.
init
in interface ISVNDiffGenerator
anchorPath1
- an old path/URLanchorPath2
- a new path/URLpublic void setDiffOptions(SVNDiffOptions options)
options
- diff optionspublic void setBasePath(File basePath)
ISVNDiffGenerator
This can be used to make all paths in a diff output be relative to this base path.
setBasePath
in interface ISVNDiffGenerator
basePath
- a base path for this driverpublic void setDiffDeleted(boolean isDiffDeleted)
ISVNDiffGenerator
Like the '--no-diff-deleted' option of the 'svn diff' or 'svnlook diff' commands.
setDiffDeleted
in interface ISVNDiffGenerator
isDiffDeleted
- if true then
deleted files will be diffed, otherwise notISVNDiffGenerator.isDiffDeleted()
public boolean isDiffDeleted()
ISVNDiffGenerator
isDiffDeleted
in interface ISVNDiffGenerator
ISVNDiffGenerator.setDiffDeleted(boolean)
public void setDiffAdded(boolean isDiffAdded)
ISVNDiffGenerator
SVNLookClient
's diff
operations.
Like the '--no-diff-added' option of the 'svnlook diff' command.
setDiffAdded
in interface ISVNDiffGenerator
isDiffAdded
- if true then
added files will be diffed, otherwise notISVNDiffGenerator.isDiffAdded()
public boolean isDiffAdded()
ISVNDiffGenerator
SVNLookClient
's diff
operations.
isDiffAdded
in interface ISVNDiffGenerator
ISVNDiffGenerator.setDiffAdded(boolean)
public void setDiffCopied(boolean isDiffCopied)
ISVNDiffGenerator
SVNLookClient
's diff
operations.
Like the '--diff-copy-from' option of the 'svnlook diff' command.
setDiffCopied
in interface ISVNDiffGenerator
isDiffCopied
- if true then
copied files will be diffed against copy sources,
otherwise they will be treated as newly added filesISVNDiffGenerator.isDiffCopied()
public boolean isDiffCopied()
ISVNDiffGenerator
SVNLookClient
's diff
operations.
isDiffCopied
in interface ISVNDiffGenerator
ISVNDiffGenerator.setDiffCopied(boolean)
public SVNDiffOptions getDiffOptions()
protected String getDisplayPath(String path)
public void setForcedBinaryDiff(boolean forced)
ISVNDiffGenerator
Like the '--force' option of the 'svn diff' command.
setForcedBinaryDiff
in interface ISVNDiffGenerator
forced
- if true binary
files will also be diffed, otherwise notpublic boolean isForcedBinaryDiff()
isForcedBinaryDiff
in interface ISVNDiffGenerator
public void displayPropDiff(String path, Map baseProps, Map diff, OutputStream result) throws SVNException
ISVNDiffGenerator
displayPropDiff
in interface ISVNDiffGenerator
path
- a file path on which the property changes
are written to the outputbaseProps
- a Map
of old properties
(property names are mapped to their values)diff
- a Map
of changed properties
(property names are mapped to their values)result
- the target OutputStream
where
the differences will be written to
SVNException
- if can not save diff dataprotected File getBasePath()
public void displayFileDiff(String path, File file1, File file2, String rev1, String rev2, String mimeType1, String mimeType2, OutputStream result) throws SVNException
ISVNDiffGenerator
file1
or file2
may be temporary files crteated
to get file contents from the repository (when running diff on URLs).
These temporary files will be deleted with the temporary directory
(created by ISVNDiffGenerator.createTempDirectory()
) when the operation ends up.
displayFileDiff
in interface ISVNDiffGenerator
path
- a file path on which the differences are
generated and written to the outputfile1
- a file with old contentsfile2
- a file with new contentsrev1
- the first diff revision of file1
rev2
- the second diff revision of file2
mimeType1
- the MIME-type of file1
mimeType2
- the MIME-type of file2
result
- the target OutputStream
where
the differences will be written to
SVNException
- if can not save diff datapublic void setEncoding(String encoding)
ISVNDiffGenerator
setEncoding
in interface ISVNDiffGenerator
encoding
- the name of a charsetpublic String getEncoding()
ISVNDiffGenerator
getEncoding
in interface ISVNDiffGenerator
public File createTempDirectory() throws SVNException
ISVNDiffGenerator
This temporary directory exists till the end of the diff operation.
createTempDirectory
in interface ISVNDiffGenerator
SVNException
- if a directory can not be createdpublic boolean isDiffUnversioned()
By default unversioned files are ignored.
isDiffUnversioned
in interface ISVNDiffGenerator
setDiffUnversioned(boolean)
public void setDiffUnversioned(boolean diffUnversioned)
If a diff operation is invoked on a versioned directory and
diffUnversioned
is true
then all unversioned files that may be met in the directory will
be processed as added. Otherwise if diffUnversioned
is false such files are ignored.
By default unversioned files are ignored.
setDiffUnversioned
in interface ISVNDiffGenerator
diffUnversioned
- controls whether to diff unversioned files
or notisDiffUnversioned()
public void displayDeletedDirectory(String path, String rev1, String rev2) throws SVNException
displayDeletedDirectory
in interface ISVNDiffGenerator
path
- a directory pathrev1
- the first diff revisionrev2
- the second diff revision
SVNException
public void displayAddedDirectory(String path, String rev1, String rev2) throws SVNException
displayAddedDirectory
in interface ISVNDiffGenerator
path
- a directory pathrev1
- the first diff revisionrev2
- the second diff revision
SVNException
protected void displayBinary(OutputStream os, String mimeType1, String mimeType2) throws IOException
IOException
protected boolean displayHeader(OutputStream os, String path, boolean deleted) throws IOException
IOException
protected void displayHeaderFields(OutputStream os, String path1, String rev1, String path2, String rev2) throws IOException
IOException
protected boolean isHeaderForced(File file1, File file2)
protected boolean useLocalFileSeparatorChar()
|
SVNKit Home | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |