org.tmatesoft.svn.core.io
Interface ISVNEditor
- ISVNDeltaConsumer
- SVNReplicationEditor
public interface ISVNEditor
The
ISVNEditor interface is used by
SVNRepository to
update versioned files/dirs, check out files/dirs from a repository,
commit changes to a repository, take status of files/dirs,
get differences between files.
When used for updating (checking out, getting differences or status), an
implementor should provide its own appropriate implementation of the
ISVNEditor interface along with a reporter baton (
ISVNReposrterBaton)
to a corresponding method of an
SVNRepository driver. Reporter baton
will be used to describe the state of local dirs/files - their current revisions,
whether a file/dir is deleted or switched. An editor is invoked after the reporter
baton finishes its work. It is used to "edit" the state of files/dirs, where
"edit" may mean anything: applying changes in updating, switching, checking out (what
really changes the state), or handling changes in getting status or differences (what is
only used to inform about, show, separately store changes, and so on). The concrete behaviour
of the editor is implemented by the provider of that editor.
The other kind of using
ISVNEditor is committing changes to a repository.
Here an editor is given to a caller, and the caller himself describes the changes
of local files/dirs. All that collected info is then committed in a single transaction
when a caller invokes the
closeEdit() method of the editor.
For more information on using editors, please, read these on-line articles:
void | abortEdit()- Aborts the current running editor due to errors occured.
|
void | absentDir(String path)- Indicates that a path is present as a subdirectory in the edit source,
but can not be conveyed to the edit consumer (perhaps because of
authorization restrictions).
|
void | absentFile(String path)- Indicates that a path is present as a file in the edit source,
but can not be conveyed to the edit consumer (perhaps because of
authorization restrictions).
|
void | addDir(String path, String copyFromPath, long copyFromRevision)- Adds a directory.
|
void | addFile(String path, String copyFromPath, long copyFromRevision)- Adds a file.
|
void | changeDirProperty(String name, String value)- Changes the value of a property of the currently "opened"/"added" directory.
|
void | changeFileProperty(String path, String name, String value)- Changes the value of a property of an opened file.
|
void | closeDir()- Closes the currently opened directory fixing all changes of its
properties and/or entries.
|
SVNCommitInfo | closeEdit()- Closes this editor finalizing the whole operation the editor
was used for.
|
void | closeFile(String path, String textChecksum)- Closes the opened file fixing all properties and/or contents changes.
|
void | deleteEntry(String path, long revision)- Deletes an entry.
|
void | openDir(String path, long revision)- Opens a directory.
|
void | openFile(String path, long revision)- Opens a file.
|
void | openRoot(long revision)- Opens the root directory on which the operation was invoked.
|
void | targetRevision(long revision)- Sets the target revision the operation is running for.
|
abortEdit
public void abortEdit()
throws SVNException Aborts the current running editor due to errors occured.
If an exception is thrown from an editor's method, call this method
to abort the editor.
absentDir
public void absentDir(String path)
throws SVNException Indicates that a path is present as a subdirectory in the edit source,
but can not be conveyed to the edit consumer (perhaps because of
authorization restrictions).
path - a dir path relative to the root
directory opened by openRoot()
absentFile
public void absentFile(String path)
throws SVNException Indicates that a path is present as a file in the edit source,
but can not be conveyed to the edit consumer (perhaps because of
authorization restrictions).
path - a file path relative to the root
directory opened by openRoot()
addDir
public void addDir(String path,
String copyFromPath,
long copyFromRevision)
throws SVNException Adds a directory.
In a commit - adds a new directory to a repository. In an update - locally adds
a directory that was added in the repository. In a status - informs about a new
directory scheduled for addition.
If
copyFromPath is not
null then it says
that
path is copied from
copyFromPath located in
copyFromRevision.
path - a directory path relative to the root
directory opened by openRoot()copyFromPath - an ancestor of the added directorycopyFromRevision - the revision of the ancestor
addFile
public void addFile(String path,
String copyFromPath,
long copyFromRevision)
throws SVNException Adds a file.
In a commit - adds a new file to a repository. In an update - locally adds
a file that was added in the repository. In a status - informs about a new
file scheduled for addition.
If
copyFromPath is not
null then it says
that
path is copied from
copyFromPath located in
copyFromRevision.
path - a file path relative to the root
directory opened by openRoot()copyFromPath - an ancestor of the added filecopyFromRevision - the revision of the ancestor
changeDirProperty
public void changeDirProperty(String name,
String value)
throws SVNException Changes the value of a property of the currently "opened"/"added" directory.
name - the name of a property to be changedvalue - new property value
changeFileProperty
public void changeFileProperty(String path,
String name,
String value)
throws SVNException Changes the value of a property of an opened file.
path - a file path relative to the root
directory opened by openRoot()name - a file property namevalue - a new value for the property
closeDir
public void closeDir()
throws SVNException Closes the currently opened directory fixing all changes of its
properties and/or entries. Closing a directory picks up an editor
to a parent directory.
closeEdit
public SVNCommitInfo closeEdit()
throws SVNException Closes this editor finalizing the whole operation the editor
was used for. In a commit - sends collected data to commit a transaction.
- a committed revision information
closeFile
public void closeFile(String path,
String textChecksum)
throws SVNException Closes the opened file fixing all properties and/or contents changes.
path - a file path relative to the root
directory opened by openRoot()textChecksum - an MD5 checksum for the modified file
SVNException - if the calculated upon the actual changed contents
checksum does not match the expected textChecksum
deleteEntry
public void deleteEntry(String path,
long revision)
throws SVNException Deletes an entry.
In a commit - deletes an entry from a repository. In an update -
deletes an entry locally (since it has been deleted in the repository).
In a status - informs that an entry has been deleted.
path - an entry path relative to the root
directory opened by openRoot()revision - the revision number of path
openDir
public void openDir(String path,
long revision)
throws SVNException Opens a directory. All property changes as well as entries
adding/deletion can be applied to this directory.
path - a directory path relative to the root
directory opened by openRoot()revision - the revision of the directory
openFile
public void openFile(String path,
long revision)
throws SVNException Opens a file. After it's opened, apply delta to its contents or change the
file properties.
path - a file path relative to the root
directory opened by openRoot()revision - the revision of the file
openRoot
public void openRoot(long revision)
throws SVNException Opens the root directory on which the operation was invoked. All
property changes as well as entries adding/deletion will be applied to this
root directory.
When coming back up to this root (after traversing the entire tree) you
should close the root by calling
closeDir().
revision - the revision number of the root directory
targetRevision
public void targetRevision(long revision)
throws SVNException Sets the target revision the operation is running for. For example,
the target revision to which an update is running.
revision - a revision number
Copyright © 2004-2006 TMate Software Ltd. All Rights Reserved.