Package org.tmatesoft.svn.core.wc2
Class SvnCommit
java.lang.Object
org.tmatesoft.svn.core.wc2.SvnOperation<T>
org.tmatesoft.svn.core.wc2.SvnReceivingOperation<SVNCommitInfo>
org.tmatesoft.svn.core.wc2.AbstractSvnCommit
org.tmatesoft.svn.core.wc2.SvnCommit
- All Implemented Interfaces:
ISvnObjectReceiver<SVNCommitInfo>
,ISvnOperationOptionsProvider
Represents commit operation. Commits files or directories into repository.
If
targets
has zero elements, then do nothing and return
immediately without error.
If the caller's event handler
is not
null
it will be called as the commit
progresses with any of the following actions:
SVNEventAction.COMMIT_MODIFIED
,
SVNEventAction.COMMIT_ADDED
,
SVNEventAction.COMMIT_DELETED
,
SVNEventAction.COMMIT_REPLACED
. If the commit succeeds, the
handler will be called with SVNEventAction.COMMIT_COMPLETED
event
action.
If depth
is SVNDepth.INFINITY
, commits all changes
to and below named targets. If depth
is
SVNDepth.EMPTY
, commits only named targets (that is, only
property changes on named directory targets, and property and content
changes for named file targets). If depth
is
SVNDepth.FILES
, behaves as above for named file targets, and for
named directory targets, commits property changes on a named directory
and all changes to files directly inside that directory. If
SVNDepth.IMMEDIATES
, behaves as for SVNDepth.FILES
, and
for subdirectories of any named directory target
commits as though for
SVNDepth.EMPTY
.
Unlocks paths in the repository, unless keepLocks
is true
.
changelists
used as a restrictive filter on items that are committed; that is,
doesn't commit anything unless it's a member of one of those changelists.
After the commit completes successfully, removes changelist associations
from the targets, unless keepChangelist
is set. If
changelists
is empty (or altogether null
), no changelist filtering occurs.
If no exception is thrown and SVNCommitInfo.getNewRevision()
is
invalid (<0
), then the commit was a no-op; nothing needed
to be committed.
run()
returns SVNCommitInfo
information about new committed revision.
run()
throws SVNException
in the following cases:
-
exception with
SVNErrorCode.UNSUPPORTED_FEATURE
error code
- if it is commit from different working copies belonging to different repositories
exception with SVNErrorCode.CLIENT_PROPERTY_NAME
error code
- if there is standard Subversion property among revision properties
exception with SVNErrorCode.WC_FOUND_CONFLICT
error code
- if item is remaining in conflict
exception with SVNErrorCode.ILLEGAL_TARGET
error code
- if item is not under version control
or item's parent is not known to exist in the repository and is not part of the commit, yet item is part of the commit
exception with SVNErrorCode.WC_PATH_NOT_FOUND
error code
- if item is scheduled for addition within unversioned parent
or item is scheduled for addition, but is missing
exception with SVNErrorCode.NODE_UNKNOWN_KIND
error code
- if item is of unknown kind
exception with SVNErrorCode.NODE_UNEXPECTED_KIND
error code
- item has unexpectedly changed special status
exception with SVNErrorCode.WC_NOT_LOCKED
error code
- if working copy directory/file is missing
exception with SVNErrorCode.CLIENT_DUPLICATE_COMMIT_URL
error code
- if operation trying to commit different items referring to the same URL
exception with SVNErrorCode.BAD_URL
error code
- if working copy directory/file is missing
exception with SVNErrorCode.WC_NOT_LOCKED
error code
- if operation cannot compute base URL for commit operation
exception with SVNErrorCode.WC_CORRUPT_TEXT_BASE
error code
- if working copy is corrupted
- Version:
- 1.7
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private ISvnCommitParameters
private boolean
private boolean
private boolean
private boolean
private boolean
private boolean
private SvnCommitPacket
private SvnCommitPacket[]
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns operation's commit packet.protected void
Gets operation's parameters of the commit.protected int
protected void
boolean
Gets whether the operation changes working copyboolean
boolean
boolean
isForce()
Sets whether or not to force a non-recursive commit; ifdepth
isSVNDepth.INFINITY
theforce
flag is ignored.boolean
boolean
boolean
Gets whether or notchangelists
should be removed.boolean
Gets whether or not to unlock files in the repository.run()
If commit packet isnull
, callscollectCommitItems()
to create the commit packet, then executes the operation.void
setCombinePackets
(boolean combine) void
setCommitParameters
(ISvnCommitParameters commitParameters) Sets operation's parameters of the commit.void
setFailOnMultipleRepositories
(boolean fail) void
setForce
(boolean force) Gets whether or not to force a non-recursive commit; ifdepth
isSVNDepth.INFINITY
theforce
flag is ignored.void
setIncludeDirectoryExternals
(boolean includeDirectoryExternals) void
setIncludeFileExternals
(boolean includeFileExternals) void
setKeepChangelists
(boolean keepChangelists) Sets whether or notchangelists
should be removed.void
setKeepLocks
(boolean keepLocks) Sets whether or not to unlock files in the repository.splitCommitPackets
(boolean combinePackets) Methods inherited from class org.tmatesoft.svn.core.wc2.AbstractSvnCommit
getCommitHandler, getCommitMessage, getRevisionProperties, setCommitHandler, setCommitMessage, setRevisionProperties, setRevisionProperty
Methods inherited from class org.tmatesoft.svn.core.wc2.SvnReceivingOperation
first, getReceiver, last, receive, run, setReceiver
Methods inherited from class org.tmatesoft.svn.core.wc2.SvnOperation
addTarget, cancel, ensureEnoughTargets, ensureHomohenousTargets, getApplicableChangelists, getAuthenticationManager, getCanceller, getDepth, getEventHandler, getFirstTarget, getMinimumTargetsCount, getOperationalWorkingCopy, getOperationFactory, getOptions, getRepositoryPool, getRevision, getSqliteJournalMode, getTargets, hasFileTargets, hasLocalTargets, hasRemoteTargets, isCancelled, isSleepForTimestamp, isUseParentWcFormat, needsHomohenousTargets, setApplicalbeChangelists, setDepth, setRevision, setSingleTarget, setSleepForTimestamp, setSqliteJournalMode
-
Field Details
-
keepChangelists
private boolean keepChangelists -
keepLocks
private boolean keepLocks -
commitParameters
-
packet
-
force
private boolean force -
isFailOnMultipleRepositories
private boolean isFailOnMultipleRepositories -
combinePackets
private boolean combinePackets -
splitPackets
-
includeFileExternals
private boolean includeFileExternals -
includeDirectoryExternals
private boolean includeDirectoryExternals
-
-
Constructor Details
-
SvnCommit
-
-
Method Details
-
isKeepChangelists
public boolean isKeepChangelists()Gets whether or notchangelists
should be removed.- Returns:
true
ifchangelists
should be removed, otherwisefalse
-
setKeepChangelists
public void setKeepChangelists(boolean keepChangelists) Sets whether or notchangelists
should be removed.- Parameters:
keepChangelists
-true
ifchangelists
should be removed, otherwisefalse
-
isKeepLocks
public boolean isKeepLocks()Gets whether or not to unlock files in the repository.- Returns:
true
if files should not be unlocked in the repository, otherwisefalse
-
setKeepLocks
public void setKeepLocks(boolean keepLocks) Sets whether or not to unlock files in the repository.- Parameters:
keepLocks
-true
if files should not be unlocked in the repository, otherwisefalse
-
getCommitParameters
Gets operation's parameters of the commit.- Returns:
- commit parameters of the operation
- See Also:
-
setCommitParameters
Sets operation's parameters of the commit.- Parameters:
commitParameters
- commit parameters of the operation- See Also:
-
collectCommitItems
Returns operation's commit packet. Checks arguments and callsSvnOperationFactory.collectCommitItems(SvnCommit)
if commit packet isnull
.- Returns:
- commit packet of the operation
- Throws:
SVNException
-
splitCommitPackets
- Throws:
SVNException
-
run
If commit packet isnull
, callscollectCommitItems()
to create the commit packet, then executes the operation.- Overrides:
run
in classSvnOperation<SVNCommitInfo>
- Returns:
- result depending on operation type
- Throws:
SVNException
-
ensureArgumentsAreValid
- Overrides:
ensureArgumentsAreValid
in classSvnOperation<SVNCommitInfo>
- Throws:
SVNException
-
getMaximumTargetsCount
protected int getMaximumTargetsCount()- Overrides:
getMaximumTargetsCount
in classSvnOperation<SVNCommitInfo>
-
setForce
public void setForce(boolean force) Gets whether or not to force a non-recursive commit; ifdepth
isSVNDepth.INFINITY
theforce
flag is ignored.- Parameters:
force
-true
if non-recursive commit should be forced, otherwisefalse
-
isForce
public boolean isForce()Sets whether or not to force a non-recursive commit; ifdepth
isSVNDepth.INFINITY
theforce
flag is ignored.- Returns:
true
if non-recursive commit should be forced, otherwisefalse
-
isChangesWorkingCopy
public boolean isChangesWorkingCopy()Gets whether the operation changes working copy- Overrides:
isChangesWorkingCopy
in classSvnOperation<SVNCommitInfo>
- Returns:
true
if the operation changes the working copy, otherwisefalse
-
setCombinePackets
public void setCombinePackets(boolean combine) -
isCombinePackets
public boolean isCombinePackets() -
isFailOnMultipleRepositories
public boolean isFailOnMultipleRepositories() -
setFailOnMultipleRepositories
public void setFailOnMultipleRepositories(boolean fail) -
isIncludeFileExternals
public boolean isIncludeFileExternals() -
setIncludeFileExternals
public void setIncludeFileExternals(boolean includeFileExternals) -
isIncludeDirectoryExternals
public boolean isIncludeDirectoryExternals() -
setIncludeDirectoryExternals
public void setIncludeDirectoryExternals(boolean includeDirectoryExternals) -
initDefaults
protected void initDefaults()- Overrides:
initDefaults
in classSvnReceivingOperation<SVNCommitInfo>
-