org.tmatesoft.svn.core.wc
Class SVNMergeFileSet

java.lang.Object
  extended by org.tmatesoft.svn.core.wc.SVNMergeFileSet

public class SVNMergeFileSet
extends java.lang.Object

The SVNMergeFileSet class holds information about the file that is to be merged. This information includes references to File objects with working, base, repository contents; file mimeType; labels to append to the file name to produce conflict files in case a merge fails with a conflict, and so on.

Since:
1.2

Constructor Summary
SVNMergeFileSet(org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea adminArea, org.tmatesoft.svn.core.internal.wc.admin.SVNLog log, java.io.File baseFile, java.io.File localFile, java.lang.String wcPath, java.io.File reposFile, java.io.File resultFile, java.io.File copyFromFile, java.lang.String mimeType)
          Creates a new SVNMergeFileSet object given the data prepared for merging a file.
 
Method Summary
 void dispose()
          Disposes this object.
 org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea getAdminArea()
          Returns the admin area which controls the file.
 java.io.File getBaseFile()
          Returns the file containing the pristine file contents.
 java.lang.String getBaseLabel()
          Returns the base file label.
 java.lang.String getBasePath()
          Returns the base file path.
 java.io.File getCopyFromFile()
          Returns the file which is the copy source for the file being merged.
 java.lang.String getCopyFromPath()
          Returns the copy source path.
 java.io.File getLocalFile()
          Returns the detranslated working copy file.
 java.lang.String getLocalLabel()
          Returns the local file label.
 java.lang.String getLocalPath()
          Returns the path of the detranslated version of the working copy file.
 org.tmatesoft.svn.core.internal.wc.admin.SVNLog getLog()
          Returns the log object.
 java.lang.String getMimeType()
          Returns the mime type of the file.
 java.io.File getRepositoryFile()
          Returns the repository version of the file.
 java.lang.String getRepositoryLabel()
          Returns the repository file label.
 java.lang.String getRepositoryPath()
          Returns the path to the file containing the contents of the repository version of the file.
 java.io.File getResultFile()
          Returns the file where the merged resultant text is written to.
 java.lang.String getResultPath()
          Returns the path of the file where the merged resultant text is written to.
 java.io.File getWCFile()
          Returns the working copy file as it presents in the working copy.
 java.lang.String getWCPath()
          Returns the path of the working copy file.
 boolean isBinary()
          Tells whether this file is binary or textual.
 void setMergeLabels(java.lang.String baseLabel, java.lang.String localLabel, java.lang.String repositoryLabel)
          Sets the labels for conflict files.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SVNMergeFileSet

public SVNMergeFileSet(org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea adminArea,
                       org.tmatesoft.svn.core.internal.wc.admin.SVNLog log,
                       java.io.File baseFile,
                       java.io.File localFile,
                       java.lang.String wcPath,
                       java.io.File reposFile,
                       java.io.File resultFile,
                       java.io.File copyFromFile,
                       java.lang.String mimeType)
Creates a new SVNMergeFileSet object given the data prepared for merging a file.

Note: This is intended for internal use only, not for API users.

Parameters:
adminArea - admin area the file is controlled under
log - log object
baseFile - file with pristine contents
localFile - file with translated working contents
wcPath - working copy path relative to the location of adminArea
reposFile - file contents from the repository
resultFile - file where the resultant merged contents will be written to
copyFromFile - contents of the copy source file (if any)
mimeType - file mime type
Method Detail

setMergeLabels

public void setMergeLabels(java.lang.String baseLabel,
                           java.lang.String localLabel,
                           java.lang.String repositoryLabel)
Sets the labels for conflict files.

If baseLabel is null, ".old" will be set by default. If localLabel is null, ".working" will be set by default. If repositoryLabel is null, ".new" will be set by default.

Parameters:
baseLabel - base file label
localLabel - working file label
repositoryLabel - repository file label

getLog

public org.tmatesoft.svn.core.internal.wc.admin.SVNLog getLog()
Returns the log object.

Note: This is intended for internal use only, not for API users.

Returns:
wc modification commands logger

getBaseLabel

public java.lang.String getBaseLabel()
Returns the base file label.

Returns:
base label string

getLocalLabel

public java.lang.String getLocalLabel()
Returns the local file label.

Returns:
working file label

getRepositoryLabel

public java.lang.String getRepositoryLabel()
Returns the repository file label.

Returns:
label of the repository file version

getBasePath

public java.lang.String getBasePath()
                             throws SVNException
Returns the base file path.

If the base file is located under the admin area, then the return path will be just a relevant to the admin area path of the base file. Otherwise (in case the repository file is located not under the admin area) this method will create a temporary file in the .svn/tmp area of the admin area and copy the contents of the base file into it; the return path will be again relative to the location of the admin area.

Returns:
path of the file with pristine contents
Throws:
SVNException

getLocalPath

public java.lang.String getLocalPath()
Returns the path of the detranslated version of the working copy file. Detranslating of a working copy file takes place in case it's a symlink, or it has keywords or eol-style properties set on it.

Returns:
path to the file with detranslated working contents; it's relevant to the admin area location

getWCPath

public java.lang.String getWCPath()
Returns the path of the working copy file.

Returns:
path of the working copy file; it's relevant to the admin area location

getRepositoryPath

public java.lang.String getRepositoryPath()
                                   throws SVNException
Returns the path to the file containing the contents of the repository version of the file.

If the repository file is located under the admin area, then the return path will be just a relevant to the admin area path of the repository file. Otherwise (in case the repository file is located not under the admin area) this method will create a temporary file in the .svn/tmp area of the admin area and copy the contents of the repository file into it; the return path will be again relative to the location of the admin area.

Returns:
path of the file containing file contents that come from the repository
Throws:
SVNException

getResultPath

public java.lang.String getResultPath()
Returns the path of the file where the merged resultant text is written to.

Returns:
path of the result file; it's relevant to the admin area location

getBaseFile

public java.io.File getBaseFile()
Returns the file containing the pristine file contents.

Returns:
base file

getWCFile

public java.io.File getWCFile()
Returns the working copy file as it presents in the working copy.

Returns:
working copy file

getLocalFile

public java.io.File getLocalFile()
Returns the detranslated working copy file. Detranslating of a working copy file takes place in case it's a symlink, or it has keywords or eol-style properties set on it.

Returns:
detranslated working copy file

getRepositoryFile

public java.io.File getRepositoryFile()
Returns the repository version of the file.

Returns:
repository file

getResultFile

public java.io.File getResultFile()
Returns the file where the merged resultant text is written to.

Returns:
merge result file

isBinary

public boolean isBinary()
Tells whether this file is binary or textual. The result will depend on the value of the file mime type.

Returns:
true if binary

getMimeType

public java.lang.String getMimeType()
Returns the mime type of the file.

Returns:
file mime type

getAdminArea

public org.tmatesoft.svn.core.internal.wc.admin.SVNAdminArea getAdminArea()
Returns the admin area which controls the file.

Note: this method is not intended for API users.

Returns:
admin area

dispose

public void dispose()
             throws SVNException
Disposes this object.

Note: this method is not intended for API users.

Throws:
SVNException

getCopyFromFile

public java.io.File getCopyFromFile()
Returns the file which is the copy source for the file being merged.

Returns:
copy source file

getCopyFromPath

public java.lang.String getCopyFromPath()
Returns the copy source path.

Returns:
path of the copy source file; it's relevant to the admin area location
Since:
1.3