Class SVNBasicClient

  • Direct Known Subclasses:
    SVNChangelistClient, SVNCommitClient, SVNCopyClient, SVNDiffClient, SVNLogClient, SVNMoveClient, SVNStatusClient, SVNUpdateClient, SVNWCClient

    public class SVNBasicClient
    extends java.lang.Object
    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.

    Since:
    1.2
    Version:
    1.3
    • Field Detail

      • SVNKIT_WC_17_PROPERTY

        private static final java.lang.String SVNKIT_WC_17_PROPERTY
        See Also:
        Constant Field Values
      • SVNKIT_WC_17_DEFAULT

        private static final java.lang.String SVNKIT_WC_17_DEFAULT
        See Also:
        Constant Field Values
      • SVNKIT_WC_17_EXPECTED

        private static final java.lang.String SVNKIT_WC_17_EXPECTED
        See Also:
        Constant Field Values
      • ignoreExternals

        private boolean ignoreExternals
      • leaveConflictsUnresolved

        private boolean leaveConflictsUnresolved
    • Method Detail

      • initDefaults

        protected void initDefaults()
      • isWC17Supported

        public static boolean isWC17Supported()
      • getOptions

        public ISVNOptions getOptions()
        Gets run-time configuration options used by this object.
        Returns:
        the run-time options being in use
      • setOptions

        public void setOptions​(ISVNOptions options)
        Sets run-time global configuration options to this object.
        Parameters:
        options - the run-time configuration options
      • 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()
      • isIgnoreExternals

        public boolean isIgnoreExternals()
        Determines if externals definitions are ignored.
        Returns:
        true if ignored, otherwise false
        See Also:
        setIgnoreExternals(boolean)
      • setLeaveConflictsUnresolved

        public void setLeaveConflictsUnresolved​(boolean leave)
        Deprecated.
        this method should not be used anymore
        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 SVNStatusType.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
      • isLeaveConflictsUnresolved

        public boolean isLeaveConflictsUnresolved()
        Deprecated.
        this method should not be used anymore
        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:
        setLeaveConflictsUnresolved(boolean)
      • 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
      • setPathListHandler

        public void setPathListHandler​(ISVNPathListHandler handler)
        Sets a path list handler implementation to this object.
        Parameters:
        handler - handler implementation
        Since:
        1.2.0
      • setDebugLog

        public void setDebugLog​(ISVNDebugLog log)
        Sets a logger to write debug log information to.
        Parameters:
        log - a debug logger
      • 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
      • getReposRoot

        public SVNURL getReposRoot​(java.io.File path,
                                   SVNURL url,
                                   SVNRevision pegRevision,
                                   SVNAdminArea adminArea,
                                   SVNWCAccess access)
                            throws SVNException
        Deprecated.
        Returns the root of the repository.

        If path is not null and pegRevision is either SVNRevision.WORKING or SVNRevision.BASE, then attempts to fetch the repository root from the working copy represented by path. If these conditions are not met or if the repository root is not recorded in the working copy, then a repository connection is established and the repository root is fetched from the session.

        When fetching the repository root from the working copy and if access is null, a new working copy access will be created and the working copy will be opened non-recursively for reading only.

        All necessary cleanup (session or|and working copy close) will be performed automatically as the routine finishes.

        Parameters:
        path - working copy path
        url - repository url
        pegRevision - revision in which the target is valid
        adminArea - working copy administrative area object
        access - working copy access object
        Returns:
        repository root url
        Throws:
        SVNException
        Since:
        1.2.0
      • getReposRoot

        public SVNURL getReposRoot​(java.io.File path,
                                   SVNURL url,
                                   SVNRevision pegRevision)
                            throws SVNException
        Returns the root of the repository.

        If path is not null and pegRevision is either SVNRevision.WORKING or SVNRevision.BASE, then attempts to fetch the repository root from the working copy represented by path. If these conditions are not met or if the repository root is not recorded in the working copy, then a repository connection is established and the repository root is fetched from the session.

        All necessary cleanup (session or|and working copy close) will be performed automatically as the routine finishes.

        Parameters:
        path - working copy path
        url - repository url
        pegRevision - revision in which the target is valid
        Returns:
        repository root url
        Throws:
        SVNException
        Since:
        1.2.0
      • setEventPathPrefix

        public void setEventPathPrefix​(java.lang.String prefix)
        Deprecated.
        Removes or adds a path prefix. This method is not intended for users (from an API point of view).
        Parameters:
        prefix - a path prefix