org.tmatesoft.svn.core.wc

Class SVNBasicClient

public class SVNBasicClient extends Object implements ISVNEventHandler

The SVNBasicClient is the base class of all SVN*Client classes that provides a common interface and realization.

All of SVN*Client classes use inherited methods of SVNBasicClient to access Working Copies metadata, to create a driver object to access a repository if it's necessary, etc. In addition SVNBasicClient provides some interface methods - such as those that allow you to set your event handler, obtain run-time configuration options, and others.

Version: 1.1.1

Author: TMate Software Ltd.

Nested Class Summary
protected static classSVNBasicClient.RepositoryReference
protected static classSVNBasicClient.SVNRepositoryLocation
Constructor Summary
protected SVNBasicClient(ISVNAuthenticationManager authManager, ISVNOptions options)
protected SVNBasicClient(ISVNRepositoryPool repositoryPool, ISVNOptions options)
Method Summary
voidcheckCancelled()
Redirects this call to the registered event handler (if any).
protected SVNRepositorycreateRepository(SVNURL url, boolean mayReuse)
protected SVNRepositorycreateRepository(SVNURL url, File path, SVNRevision pegRevision, SVNRevision revision)
protected SVNRepositorycreateRepository(SVNURL url, File path, SVNRevision pegRevision, SVNRevision revision, long[] pegRev)
protected SVNWCAccesscreateWCAccess()
protected SVNWCAccesscreateWCAccess(String pathPrefix)
protected voiddispatchEvent(SVNEvent event)
protected voiddispatchEvent(SVNEvent event, double progress)
ISVNDebugLoggetDebugLog()
Returns the debug logger currently in use.
protected ISVNEventHandlergetEventDispatcher()
protected SVNBasicClient.SVNRepositoryLocation[]getLocations(SVNURL url, File path, SVNRepository repository, SVNRevision revision, SVNRevision start, SVNRevision end)
ISVNOptionsgetOptions()
Gets a run-time configuration area driver used by this object.
protected ISVNRepositoryPoolgetRepositoryPool()
protected longgetRevisionNumber(SVNRevision revision, SVNRepository repository, File path)
protected SVNURLgetURL(File path)
voidhandleEvent(SVNEvent event, double progress)
Dispatches events to the registered event handler (if any).
booleanisIgnoreExternals()
Determines if externals definitions are ignored.
booleanisLeaveConflictsUnresolved()
Determines if conflicted files should be left unresolved preventing from merging their contents during update and merge operations.
voidsetDebugLog(ISVNDebugLog log)
Sets a logger to write debug log information to.
voidsetEventHandler(ISVNEventHandler dispatcher)
Sets an event handler for this object.
voidsetEventPathPrefix(String prefix)
Removes or adds a path prefix.
voidsetIgnoreExternals(boolean ignore)
Sets externals definitions to be ignored or not during operations.
voidsetLeaveConflictsUnresolved(boolean leave)
Sets (or unsets) all conflicted working files to be untouched by update and merge operations.
voidsetOptions(ISVNOptions options)
protected voidsleepForTimeStamp()

Constructor Detail

SVNBasicClient

protected SVNBasicClient(ISVNAuthenticationManager authManager, ISVNOptions options)

SVNBasicClient

protected SVNBasicClient(ISVNRepositoryPool repositoryPool, ISVNOptions options)

Method Detail

checkCancelled

public void checkCancelled()
Redirects this call to the registered event handler (if any).

Throws: SVNCancelException if the current operation was cancelled

createRepository

protected SVNRepository createRepository(SVNURL url, boolean mayReuse)

createRepository

protected SVNRepository createRepository(SVNURL url, File path, SVNRevision pegRevision, SVNRevision revision)

createRepository

protected SVNRepository createRepository(SVNURL url, File path, SVNRevision pegRevision, SVNRevision revision, long[] pegRev)

createWCAccess

protected SVNWCAccess createWCAccess()

createWCAccess

protected SVNWCAccess createWCAccess(String pathPrefix)

dispatchEvent

protected void dispatchEvent(SVNEvent event)

dispatchEvent

protected void dispatchEvent(SVNEvent event, double progress)

getDebugLog

public ISVNDebugLog getDebugLog()
Returns the debug logger currently in use.

If no debug logger has been specified by the time this call occurs, a default one (returned by org.tmatesoft.svn.util.SVNDebugLog.getDefaultLog()) will be created and used.

Returns: a debug logger

getEventDispatcher

protected ISVNEventHandler getEventDispatcher()

getLocations

protected SVNBasicClient.SVNRepositoryLocation[] getLocations(SVNURL url, File path, SVNRepository repository, SVNRevision revision, SVNRevision start, SVNRevision end)

getOptions

public ISVNOptions getOptions()
Gets a run-time configuration area driver used by this object.

Returns: the run-time options driver being in use

getRepositoryPool

protected ISVNRepositoryPool getRepositoryPool()

getRevisionNumber

protected long getRevisionNumber(SVNRevision revision, SVNRepository repository, File path)

getURL

protected SVNURL getURL(File path)

handleEvent

public void handleEvent(SVNEvent event, double progress)
Dispatches events to the registered event handler (if any).

Parameters: event the current event progress progress state (from 0 to 1)

Throws: SVNException

isIgnoreExternals

public boolean isIgnoreExternals()
Determines if externals definitions are ignored.

Returns: true if ignored, otherwise false

See Also: SVNBasicClient

isLeaveConflictsUnresolved

public boolean isLeaveConflictsUnresolved()
Determines if conflicted files should be left unresolved preventing from merging their contents during update and merge operations.

Returns: true if conflicted files are set to be prevented from merging, false if there's no such restriction

See Also: SVNBasicClient

setDebugLog

public void setDebugLog(ISVNDebugLog log)
Sets a logger to write debug log information to.

Parameters: log a debug logger

setEventHandler

public void setEventHandler(ISVNEventHandler dispatcher)
Sets an event handler for this object. This event handler will be dispatched SVNEvent objects to provide detailed information about actions and progress state of version control operations performed by do*() methods of SVN*Client classes.

Parameters: dispatcher an event handler

setEventPathPrefix

public void setEventPathPrefix(String prefix)
Removes or adds a path prefix. This method is not intended for users (from an API point of view).

Parameters: prefix a path prefix

setIgnoreExternals

public void setIgnoreExternals(boolean ignore)
Sets externals definitions to be ignored or not during operations.

For example, if external definitions are set to be ignored then a checkout operation won't fetch them into a Working Copy.

Parameters: ignore true to ignore externals definitions, false - not to

See Also: isIgnoreExternals

setLeaveConflictsUnresolved

public void setLeaveConflictsUnresolved(boolean leave)
Sets (or unsets) all conflicted working files to be untouched by update and merge operations.

By default when a file receives changes from the repository that are in conflict with local edits, an update operation places two sections for each conflicting snatch into the working file one of which is a user's local edit and the second is the one just received from the repository. Like this:

 <<<<<<< .mine
 user's text
 =======
 received text
 >>>>>>> .r2

Also the operation creates three temporary files that appear in the same directory as the working file. Now if you call this method with leave set to true, an update will still create temporary files but won't place those two sections into your working file. And this behaviour also concerns merge operations: any merging to a conflicted file will be prevented. In addition if there is any registered event handler for an SVNDiffClient or SVNUpdateClient instance then the handler will be dispatched an event with the status type set to CONFLICTED_UNRESOLVED.

The default value is false until a caller explicitly changes it calling this method.

Parameters: leave true to prevent conflicted files from merging (all merging operations will be skipped), otherwise false

See Also: isLeaveConflictsUnresolved SVNUpdateClient SVNDiffClient ISVNEventHandler

setOptions

public void setOptions(ISVNOptions options)

sleepForTimeStamp

protected void sleepForTimeStamp()
Copyright © 2004-2007 TMate Software Ltd. All Rights Reserved.