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
- Author:
- TMate Software Ltd.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns operation's commit packet.protected voidGets operation's parameters of the commit.protected intprotected voidbooleanGets whether the operation changes working copybooleanbooleanbooleanisForce()Sets whether or not to force a non-recursive commit; ifdepthisSVNDepth.INFINITYtheforceflag is ignored.booleanbooleanbooleanGets whether or notchangelistsshould be removed.booleanGets whether or not to unlock files in the repository.run()If commit packet isnull, callscollectCommitItems()to create the commit packet, then executes the operation.voidsetCombinePackets(boolean combine) voidsetCommitParameters(ISvnCommitParameters commitParameters) Sets operation's parameters of the commit.voidsetFailOnMultipleRepositories(boolean fail) voidsetForce(boolean force) Gets whether or not to force a non-recursive commit; ifdepthisSVNDepth.INFINITYtheforceflag is ignored.voidsetIncludeDirectoryExternals(boolean includeDirectoryExternals) voidsetIncludeFileExternals(boolean includeFileExternals) voidsetKeepChangelists(boolean keepChangelists) Sets whether or notchangelistsshould be removed.voidsetKeepLocks(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, setRevisionPropertyMethods inherited from class org.tmatesoft.svn.core.wc2.SvnReceivingOperation
first, getReceiver, last, receive, run, setReceiverMethods 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
-
Constructor Details
-
SvnCommit
-
-
Method Details
-
isKeepChangelists
public boolean isKeepChangelists()Gets whether or notchangelistsshould be removed.- Returns:
trueifchangelistsshould be removed, otherwisefalse
-
setKeepChangelists
public void setKeepChangelists(boolean keepChangelists) Sets whether or notchangelistsshould be removed.- Parameters:
keepChangelists-trueifchangelistsshould be removed, otherwisefalse
-
isKeepLocks
public boolean isKeepLocks()Gets whether or not to unlock files in the repository.- Returns:
trueif 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-trueif 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:
runin classSvnOperation<SVNCommitInfo>- Returns:
- result depending on operation type
- Throws:
SVNException
-
ensureArgumentsAreValid
- Overrides:
ensureArgumentsAreValidin classSvnOperation<SVNCommitInfo>- Throws:
SVNException
-
getMaximumTargetsCount
protected int getMaximumTargetsCount()- Overrides:
getMaximumTargetsCountin classSvnOperation<SVNCommitInfo>
-
setForce
public void setForce(boolean force) Gets whether or not to force a non-recursive commit; ifdepthisSVNDepth.INFINITYtheforceflag is ignored.- Parameters:
force-trueif non-recursive commit should be forced, otherwisefalse
-
isForce
public boolean isForce()Sets whether or not to force a non-recursive commit; ifdepthisSVNDepth.INFINITYtheforceflag is ignored.- Returns:
trueif non-recursive commit should be forced, otherwisefalse
-
isChangesWorkingCopy
public boolean isChangesWorkingCopy()Gets whether the operation changes working copy- Overrides:
isChangesWorkingCopyin classSvnOperation<SVNCommitInfo>- Returns:
trueif 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:
initDefaultsin classSvnReceivingOperation<SVNCommitInfo>
-