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.
SvnClientManager| Modifier and Type | Field and Description |
|---|---|
static 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. |
static int |
WC_FORMAT_17
Deprecated.
Use
ISVNWCDb.WC_FORMAT_17 |
static int |
workspaceFormat
getEnabledFactories(File, Collection, boolean) method is called quite a few times
during a Subversion operation, so consulting this value back with master each time is not practical
performance wise. |
| Constructor and Description |
|---|
SubversionWorkspaceSelector() |
| Modifier and Type | Method and Description |
|---|---|
Collection |
getEnabledFactories(File path,
Collection factories,
boolean writeAccess) |
static void |
syncWorkspaceFormatFromMaster() |
public static volatile int workspaceFormat
getEnabledFactories(File, Collection, boolean) method is called quite a few times
during a Subversion operation, so consulting this value back with master each time is not practical
performance wise. Therefore, we have SubversionSCM set this value, even though it's error prone.
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).
public static final int WC_FORMAT_17
ISVNWCDb.WC_FORMAT_17workspaceFormat that indicates we opt for 1.7 working copy.public static final int OLD_WC_FORMAT_17
ISVNWCDb.WC_FORMAT_17.public Collection getEnabledFactories(File path, Collection factories, boolean writeAccess) throws org.tmatesoft.svn.core.SVNException
getEnabledFactories in interface org.tmatesoft.svn.core.internal.wc.admin.ISVNAdminAreaFactorySelectororg.tmatesoft.svn.core.SVNExceptionpublic static void syncWorkspaceFormatFromMaster()
Copyright © 2004–2015. All rights reserved.