Package hudson.scm

Class SubversionWorkspaceSelector

java.lang.Object
hudson.scm.SubversionWorkspaceSelector
All Implemented Interfaces:
org.tmatesoft.svn.core.internal.wc.admin.ISVNAdminAreaFactorySelector

public class SubversionWorkspaceSelector extends Object implements org.tmatesoft.svn.core.internal.wc.admin.ISVNAdminAreaFactorySelector
ISVNAdminAreaFactorySelector that uses 1.4 compatible workspace for new check out, but still supports 1.5 workspace, if asked to work with it.

Since there are many tools out there that still don't support Subversion 1.5 (including all the major Unix distributions that haven't bundled Subversion 1.5), using 1.4 as the default would reduce the likelihood of the user running into "this SVN client can't work with this workspace version..." problem when using other SVN tools.

The primary scenario of this is the use of command-line SVN client, either from shell script, Ant, or Maven.

Working copy changes from Subversion 1.6 to 1.7 was so big that they introduced a separate SvnWcGeneration constant to represent that. So this class alone is no longer sufficient to make SVNKit sticks to the version we want it to use. See SvnClientManager that controls the other half of this.

Author:
Kohsuke Kawaguchi
See Also:
  • Field Details

    • WC_FORMAT_17

      public static final int WC_FORMAT_17
      Deprecated.
      Use ISVNWCDb.WC_FORMAT_17
      Constant for workspaceFormat that indicates we opt for 1.7 working copy.

      Internally in SVNKit, these constants go up only to 1.6. We use WC_FORMAT_17 to indicate 1.7 (but when that value is chosen, it is really SvnClientManager that does the work, not ISVNAdminAreaFactorySelector).

      See Also:
    • OLD_WC_FORMAT_17

      public static final int OLD_WC_FORMAT_17
      Deprecated.
      Pre (non-inclusive) 2.5 the working copy format for 1.7 was 100, however that has been changed to the official ISVNWCDb.WC_FORMAT_17.
      See Also:
  • Constructor Details

    • SubversionWorkspaceSelector

      public SubversionWorkspaceSelector(int workspaceFormat)
  • Method Details

    • getEnabledFactories

      public Collection getEnabledFactories(File path, Collection factories, boolean writeAccess) throws org.tmatesoft.svn.core.SVNException
      Specified by:
      getEnabledFactories in interface org.tmatesoft.svn.core.internal.wc.admin.ISVNAdminAreaFactorySelector
      Throws:
      org.tmatesoft.svn.core.SVNException