Interface ISVNReporter
- All Known Implementing Classes:
FSRepository
,FSTranslateReporter
,SVNRepositoryImpl
,SVNStatusReporter
,SVNStatusReporter17
ISVNReporter objects are used by ISVNReporterBaton implementations, provided by callers of the SVNRepository's update, switch, status, diff operations.
Paths for report calls are relative to the target of the operation (that is the
directory where the command was run). Report calls must be made in depth-first
order: parents before children, all children of a parent before any
siblings of the parent. The first report call must be a
setPath()
with a path argument of
"" and a valid revision. If the target of the operation
is locally deleted or missing, use the root path's revision. If the target of the operation is
deleted or switched relative to the root path, follow up the initial
setPath()
call with a
linkPath()
or deletePath()
call with a path argument of
"" to
indicate that. In no other case may there be two report
descriptions for the same path. If the target of the operation is
a locally added file or directory (which previously did not exist),
it may be reported as having revision 0 or as having the parent
directory's revision.
For more information on using reporters, please, read these on-line article:
Using ISVNReporter/ISVNEditor in update-related operations
- Since:
- 1.2
- Version:
- 1.3
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Aborts the current running report due to errors occured.void
deletePath
(java.lang.String path) Describes a working copypath
as deleted or missing.void
Finalizes the report.void
linkPath
(SVNURL url, java.lang.String path, java.lang.String lockToken, long revision, boolean startEmpty) Deprecated.void
linkPath
(SVNURL url, java.lang.String path, java.lang.String lockToken, long revision, SVNDepth depth, boolean startEmpty) Describes a local path as being at a particular revision to switch the path to a different repository location.void
setPath
(java.lang.String path, java.lang.String lockToken, long revision, boolean startEmpty) Deprecated.usesetPath(String, String, long, SVNDepth, boolean)
insteadvoid
setPath
(java.lang.String path, java.lang.String lockToken, long revision, SVNDepth depth, boolean startEmpty) Describes a working copypath
as being at a particularrevision
and having depthdepth
.
-
Method Details
-
setPath
void setPath(java.lang.String path, java.lang.String lockToken, long revision, boolean startEmpty) throws SVNException Deprecated.usesetPath(String, String, long, SVNDepth, boolean)
insteadDescribes a local path as being at a particular revision.
If
startEmpty
is true and thepath
is a directory, an implementor should assume the directory has no entries or properties (used in checkouts and aborted updates).A next call to this method will "override" any previous
setPath()
calls made on parent paths. Thepath
is relative to the repository location specified for an SVNRepository driver.- Parameters:
path
- a local item's pathlockToken
- if not null, it is a lock token for thepath
revision
- the local item's revision numberstartEmpty
- if true and if thepath
is a directory, then means there're no entries yet- Throws:
SVNException
- in case the repository could not be connected
-
setPath
void setPath(java.lang.String path, java.lang.String lockToken, long revision, SVNDepth depth, boolean startEmpty) throws SVNException Describes a working copypath
as being at a particularrevision
and having depthdepth
.revision
may be invalid (<0
) if (for example)path
represents a locally-added path with no revision number, ordepth
isSVNDepth.EXCLUDE
.path
may not be underneath a path on whichsetPath()
was previously called withSVNDepth.EXCLUDE
in this report. IfstartEmpty
is set andpath
is a directory, this will mean that the directory has no entries or properties. This will *override* any previoussetPath()
calls made on parent paths.path
is relative to thelocation
of the repository access object. IflockToken
is non-null, it is the lock token forpath
in the local tree.- Parameters:
path
- a local item's pathlockToken
- if not null, it is a lock token for thepath
revision
- the local item's revision numberdepth
- depth ofpath
startEmpty
- if true and if thepath
is a directory, then means there're no entries yet- Throws:
SVNException
- in case the repository could not be connected- Since:
- 1.2.0, New in Subversion 1.5.0
-
deletePath
Describes a working copypath
as deleted or missing.- Parameters:
path
- a path relative to the root of the report- Throws:
SVNException
- in case the repository could not be connected
-
linkPath
void linkPath(SVNURL url, java.lang.String path, java.lang.String lockToken, long revision, boolean startEmpty) throws SVNException Deprecated.Describes a local path as being at a particular revision to switch the path to a different repository location. LikesetPath()
, but differs in that the local item'spath
(relative to the root of the report driver) isn't a reflection of the path in the repository, but is instead a reflection of a different repository path at arevision
. IfstartEmpty
is set and thepath
is a directory, the implementor should assume the directory has no entries or properties.- Parameters:
url
- a new repository location to switch topath
- the local item's pathlockToken
- if not null, it is a lock token for thepath
revision
- the local item's revision numberstartEmpty
- if true and if thepath
is a directory, then means there're no entries yet- Throws:
SVNException
- in case the repository could not be connected
-
linkPath
void linkPath(SVNURL url, java.lang.String path, java.lang.String lockToken, long revision, SVNDepth depth, boolean startEmpty) throws SVNException Describes a local path as being at a particular revision to switch the path to a different repository location. LikesetPath(String, String, long, SVNDepth, boolean)
, but differs in that the local item'spath
(relative to the root of the report driver) isn't a reflection of the path in the repository, but is instead a reflection of a different repositoryurl
atrevision
, and has depthdepth
.path
may not be underneath a path on whichsetPath(String, String, long, SVNDepth, boolean)
was previously called withSVNDepth.EXCLUDE
in this report. IfstartEmpty
is set andpath
is a directory, that will mean that the directory has no entries or props. IflockToken
is non-null, it is the lock token forpath
in the local tree.- Parameters:
url
- a new repository location to switch topath
- the local item's pathlockToken
- if not null, it is a lock token for thepath
revision
- the local item's revision numberdepth
- depth ofpath
startEmpty
- if true and if thepath
is a directory, then means there're no entries yet- Throws:
SVNException
- in case the repository could not be connected- Since:
- 1.2.0, New in Subversion 1.5.0
-
finishReport
Finalizes the report. Must be called when having traversed a local tree of paths.Any directories or files not explicitly set (described) are assumed to be at the baseline revision.
- Throws:
SVNException
- in case the repository could not be connected
-
abortReport
Aborts the current running report due to errors occured.If an error occurs during a report, call this method to abort the reporter correctly.
- Throws:
SVNException
- in case the repository could not be connected
-
linkPath(SVNURL, String, String, long, SVNDepth, boolean)
instead