Class DefaultSVNOptions

java.lang.Object
org.tmatesoft.svn.core.internal.wc.DefaultSVNOptions
All Implemented Interfaces:
ISVNTunnelProvider, ISVNMergerFactory, ISVNOptions

public class DefaultSVNOptions extends java.lang.Object implements ISVNOptions, ISVNMergerFactory
Version:
1.3
  • Field Details

    • MISCELLANY_GROUP

      private static final java.lang.String MISCELLANY_GROUP
      See Also:
    • AUTH_GROUP

      private static final java.lang.String AUTH_GROUP
      See Also:
    • AUTOPROPS_GROUP

      private static final java.lang.String AUTOPROPS_GROUP
      See Also:
    • SVNKIT_GROUP

      private static final java.lang.String SVNKIT_GROUP
      See Also:
    • OLD_SVNKIT_GROUP

      private static final java.lang.String OLD_SVNKIT_GROUP
      See Also:
    • HELPERS_GROUP

      private static final java.lang.String HELPERS_GROUP
      See Also:
    • HTTP_SPOOL_DIRECTORY

      private static final java.lang.String HTTP_SPOOL_DIRECTORY
      See Also:
    • USE_COMMIT_TIMES

      private static final java.lang.String USE_COMMIT_TIMES
      See Also:
    • GLOBAL_IGNORES

      private static final java.lang.String GLOBAL_IGNORES
      See Also:
    • ENABLE_AUTO_PROPS

      private static final java.lang.String ENABLE_AUTO_PROPS
      See Also:
    • STORE_AUTH_CREDS

      private static final java.lang.String STORE_AUTH_CREDS
      See Also:
    • KEYWORD_TIMEZONE

      private static final java.lang.String KEYWORD_TIMEZONE
      See Also:
    • KEYWORD_LOCALE

      private static final java.lang.String KEYWORD_LOCALE
      See Also:
    • EDITOR_CMD

      private static final java.lang.String EDITOR_CMD
      See Also:
    • DIFF_CMD

      private static final java.lang.String DIFF_CMD
      See Also:
    • MERGE_TOOL_CMD

      private static final java.lang.String MERGE_TOOL_CMD
      See Also:
    • NO_UNLOCK

      private static final java.lang.String NO_UNLOCK
      See Also:
    • LOG_ENCODING

      private static final java.lang.String LOG_ENCODING
      See Also:
    • PRESERVED_CONFLICT_FILE_EXTENSIONS

      private static final java.lang.String PRESERVED_CONFLICT_FILE_EXTENSIONS
      See Also:
    • INTERACTIVE_COFLICTS

      private static final java.lang.String INTERACTIVE_COFLICTS
      See Also:
    • MIME_TYPES_FILE

      private static final java.lang.String MIME_TYPES_FILE
      See Also:
    • GLOBAL_CHARSET

      private static final java.lang.String GLOBAL_CHARSET
      See Also:
    • PASSWORD_STORES

      private static final java.lang.String PASSWORD_STORES
      See Also:
    • DEFAULT_IGNORES

      private static final java.lang.String DEFAULT_IGNORES
      See Also:
    • YES

      private static final java.lang.String YES
      See Also:
    • NO

      private static final java.lang.String NO
      See Also:
    • DEFAULT_LOCALE

      private static final java.lang.String DEFAULT_LOCALE
    • DEFAULT_TIMEZONE

      private static final java.lang.String DEFAULT_TIMEZONE
    • DEFAULT_PASSWORD_STORE_TYPES

      private static final java.lang.String[] DEFAULT_PASSWORD_STORE_TYPES
    • myIsReadonly

      private boolean myIsReadonly
    • myConfigDirectory

      private java.io.File myConfigDirectory
    • myConfigFile

      private SVNCompositeConfigFile myConfigFile
    • myMergerFactory

      private ISVNMergerFactory myMergerFactory
    • myConflictResolver

      private ISVNConflictHandler myConflictResolver
    • myKeywordLocale

      private java.lang.String myKeywordLocale
    • myKeywordTimezone

      private java.lang.String myKeywordTimezone
    • myKeywordDateFormat

      private java.text.SimpleDateFormat myKeywordDateFormat
    • myConfigOptions

      private java.util.Map myConfigOptions
  • Constructor Details

    • DefaultSVNOptions

      public DefaultSVNOptions()
    • DefaultSVNOptions

      public DefaultSVNOptions(java.io.File directory, boolean readOnly)
  • Method Details

    • isUseCommitTimes

      public boolean isUseCommitTimes()
      Description copied from interface: ISVNOptions
      Determines if the commit-times option is enabled.

      The commit-times option makes checkout/update/switch/revert operations put last-committed timestamps on every file they touch.

      This option corresponds to the 'use-commit-times' option that can be found in the SVN's config file under the [miscellany] section.

      Specified by:
      isUseCommitTimes in interface ISVNOptions
      Returns:
      true if commit-times are enabled, otherwise false
    • setInMemoryConfigOptions

      public void setInMemoryConfigOptions(java.util.Map configOptions)
    • setUseCommitTimes

      public void setUseCommitTimes(boolean useCommitTimes)
      Enables or disables the commit-times option.

      The commit-times option makes checkout/update/switch/revert operations put last-committed timestamps on every file they touch.

      This option corresponds to the 'use-commit-times' option that can be found in the SVN's config file under the [miscellany] section.

      Parameters:
      useCommitTimes - true to enable commit-times, false to disable
      See Also:
    • isUseAutoProperties

      public boolean isUseAutoProperties()
      Determines if the autoproperties option is enabled.

      Autoproperties are the properties that are automatically set on files when they are added or imported.

      This option corresponds to the 'enable-auto-props' option that can be found in the SVN's config file under the [miscellany] section.

      Returns:
      true if autoproperties are enabled, otherwise false
    • setUseAutoProperties

      public void setUseAutoProperties(boolean useAutoProperties)
      Enables or disables the autoproperties option.

      Autoproperties are the properties that are automatically set on files when they are added or imported.

      This option corresponds to the 'enable-auto-props' option that can be found in the SVN's config file under the [miscellany] section.

      Parameters:
      useAutoProperties - true to enable autoproperties, false to disable
      See Also:
    • isAuthStorageEnabled

      public boolean isAuthStorageEnabled()
      Determines if the authentication storage is enabled.

      The auth storage is used for disk-caching of all authentication information: usernames, passwords, server certificates, and any other types of cacheable credentials.

      This option corresponds to the 'store-auth-creds' option that can be found in the SVN's config file under the [auth] section.

      Returns:
      true if auth storage is enabled, otherwise false
    • isKeepLocks

      public boolean isKeepLocks()
    • setAuthStorageEnabled

      public void setAuthStorageEnabled(boolean storeAuth)
      Enables or disables the authentication storage.

      The auth storage is used for disk-caching of all authentication information: usernames, passwords, server certificates, and any other types of cacheable credentials.

      This option corresponds to the 'store-auth-creds' option that can be found in the SVN's config file under the [auth] section.

      Parameters:
      storeAuth - true to enable the auth storage, false to disable
      See Also:
    • setKeepLocks

      public void setKeepLocks(boolean keep)
    • isIgnored

      public static boolean isIgnored(ISVNOptions options, java.lang.String name)
    • getIgnorePatterns

      public java.lang.String[] getIgnorePatterns()
      Description copied from interface: ISVNOptions
      Returns all the global ignore patterns.

      The global ignore patterns describe the names of files and directories that SVNKit should ignore during status, add and import operations. Similar to the 'global-ignores' option that can be found in the SVN's config file under the [miscellany] section.

      Specified by:
      getIgnorePatterns in interface ISVNOptions
      Returns:
      an array of patterns (that usually contain wildcards) that specify file and directory names to be ignored until they are versioned
    • setIgnorePatterns

      public void setIgnorePatterns(java.lang.String[] patterns)
      Sets global ignore patterns.

      The global ignore patterns describe the names of files and directories that SVNKit should ignore during status, add and import operations. Similar to the 'global-ignores' option that can be found in the SVN's config file under the [miscellany] section.

      For example, to set all .exe files to be ignored include "*.exe" pattern into patterns.

      If patterns is null or empty then all the patterns will be removed.

      Parameters:
      patterns - an array of patterns (that usually contain wildcards) that specify file and directory names to be ignored until they are versioned
      See Also:
    • deleteIgnorePattern

      public void deleteIgnorePattern(java.lang.String pattern)
      Removes a particular global ignore pattern.
      Parameters:
      pattern - a patterna to be removed
      See Also:
    • addIgnorePattern

      public void addIgnorePattern(java.lang.String pattern)
      Adds a new particular ignore pattern to global ignore patterns.
      Parameters:
      pattern - an ignore pattern to be added
      See Also:
    • getAutoProperties

      public java.util.Map getAutoProperties()
      Returns autoproperties as a Map where each key is a file name pattern and the corresponding value is a string in the form of "propName=propValue".
      Returns:
      a Map containing autoproperties
    • setAutoProperties

      public void setAutoProperties(java.util.Map autoProperties)
      Sets autoproperties that will be automatically put on all files that will be added or imported.

      There can be several properties specified for one file pattern - they should be delimited by ";".

      Parameters:
      autoProperties - a Map which keys are file name patterns and their values are strings in the form of "propName=propValue"
      See Also:
    • getEditor

      public java.lang.String getEditor()
    • getMergeTool

      public java.lang.String getMergeTool()
    • deleteAutoProperty

      public void deleteAutoProperty(java.lang.String pattern)
      Removes a particular autoproperty by specifying a file name pattern.
      Parameters:
      pattern - a file name pattern
      See Also:
    • setAutoProperty

      public void setAutoProperty(java.lang.String pattern, java.lang.String properties)
      Sets an autoproperty - binds a file name pattern with a string in the form of "propName=propValue".
      Parameters:
      pattern - a file name pattern (usually containing wildcards)
      properties - a property for pattern
    • isInteractiveConflictResolution

      public boolean isInteractiveConflictResolution()
    • setInteractiveConflictResolution

      public void setInteractiveConflictResolution(boolean interactive)
    • applyAutoProperties

      public java.util.Map applyAutoProperties(java.io.File file, java.util.Map target)
      Description copied from interface: ISVNOptions
      Collects and puts into a Map all autoproperties specified for the file name pattern matched by the target file name.

      If fileName matches any known file name pattern then all properties set for that pattern will be collected and placed into target.

      For one file name pattern there can be several autoproperties set, delimited by ";".

      Specified by:
      applyAutoProperties in interface ISVNOptions
      Parameters:
      file - a target file
      target - a Map that will receive autoproperties
      Returns:
      target itself
    • getMergerFactory

      public ISVNMergerFactory getMergerFactory()
      Description copied from interface: ISVNOptions
      Returns a factory object which is responsible for creating merger drivers.
      Specified by:
      getMergerFactory in interface ISVNOptions
      Returns:
      a factory that produces merger drivers for merge operations
    • setMergerFactory

      public void setMergerFactory(ISVNMergerFactory mergerFactory)
      Sets a factory object which is responsible for creating merger drivers.
      Parameters:
      mergerFactory - a factory that produces merger drivers for merge operations
      See Also:
    • getPropertyValue

      public java.lang.String getPropertyValue(java.lang.String propertyName)
      Returns the value of a property from the [svnkit] section of the config file.
      Parameters:
      propertyName - a SVNKit specific config property name
      Returns:
      the value of the property
    • getHttpSpoolDirectory

      public java.io.File getHttpSpoolDirectory()
    • setPropertyValue

      public void setPropertyValue(java.lang.String propertyName, java.lang.String propertyValue)
      Sets the value of a property from the [svnkit] section of the config file.
      Parameters:
      propertyName - a SVNKit specific config property name
      propertyValue - a new value for the property; if null the property is removed
    • setConflictHandler

      public void setConflictHandler(ISVNConflictHandler resolver)
    • getConflictResolver

      public ISVNConflictHandler getConflictResolver()
      Specified by:
      getConflictResolver in interface ISVNOptions
    • matches

      public static boolean matches(java.lang.String pattern, java.lang.String fileName)
    • createMerger

      public ISVNMerger createMerger(byte[] conflictStart, byte[] conflictSeparator, byte[] conflictEnd)
      Description copied from interface: ISVNMergerFactory
      Creates a new merger driver.

      If a merger driver can not cleanly apply delta to a file (in case of a conflict state) then for each conflicting contents fragment the driver puts local data between the specified conflictStart and conflictSeparator bytes, and the newcomer data between the specified conflictSeparator and conflictEnd ones. And all these bytes are then written to the file in the place of a conflict.

      Specified by:
      createMerger in interface ISVNMergerFactory
      Parameters:
      conflictStart - bytes that come in the very beginning of a conflict
      conflictSeparator - bytes that are used to separate two conflicting fragments - local data and the newcomer one
      conflictEnd - bytes that come in the very end of a conflict
      Returns:
      a merger driver
    • createTunnelConnector

      public ISVNConnector createTunnelConnector(SVNURL url)
      Description copied from interface: ISVNTunnelProvider
      Returns a tunnel comand line matching the given subprotocol name.
      Specified by:
      createTunnelConnector in interface ISVNTunnelProvider
      Returns:
      a tunnel command line
    • getKeywordDateFormat

      public java.text.DateFormat getKeywordDateFormat()
      Description copied from interface: ISVNOptions
      Returns the date format used to format datestamps.
      Specified by:
      getKeywordDateFormat in interface ISVNOptions
      Returns:
      date format
    • getPreservedConflictFileExtensions

      public java.lang.String[] getPreservedConflictFileExtensions()
      Description copied from interface: ISVNOptions
      Returns an array of path extensions which the user wants to preserve when conflict files are made.

      If the extension of a conflicted path does not match any of the returned by this method or if this method returns null, the extension (if any) of the conflicted file will be cut off.

      Specified by:
      getPreservedConflictFileExtensions in interface ISVNOptions
      Returns:
      array of preserved file extensions
    • isAllowAllForwardMergesFromSelf

      public boolean isAllowAllForwardMergesFromSelf()
      Description copied from interface: ISVNOptions
      Says to a merge driver whether to allow all forward merges or not.

      If this returns true, we allow all forward-merges not already found in recorded mergeinfo, and thus we destroy the ability to, say, merge the whole of a branch to the trunk while automatically ignoring the revisions common to both.

      If this returns false, we allow only forward-merges not found in either recorded mergeinfo or implicit mergeinfo (natural history), then the previous scenario works great, but we can't reverse-merge a previous change made to our line of history and then remake it (because the reverse-merge will leave no mergeinfo trace, and the remake-it attempt will still find the original change in natural mergeinfo.

      Specified by:
      isAllowAllForwardMergesFromSelf in interface ISVNOptions
      Returns:
      true to allow all forward-merges; otherwise false
    • getLogEncoding

      public java.lang.String getLogEncoding()
    • getGlobalCharset

      public java.lang.String getGlobalCharset()
    • setGlobalCharset

      public void setGlobalCharset(java.lang.String charset)
    • getNativeCharset

      public java.lang.String getNativeCharset()
      Description copied from interface: ISVNOptions
      Returns the native charset name. See also SVNProperty.NATIVE.
      Specified by:
      getNativeCharset in interface ISVNOptions
      Returns:
      native charset name
    • getNativeEOL

      public byte[] getNativeEOL()
      Description copied from interface: ISVNOptions
      Returns the native EOL marker bytes.
      Specified by:
      getNativeEOL in interface ISVNOptions
      Returns:
      native EOL bytes
    • getFileExtensionsToMimeTypes

      public java.util.Map getFileExtensionsToMimeTypes()
      Description copied from interface: ISVNOptions
      Returns a hash holding file extensions to MIME types mappings. Extensions must not include the leading dot in their names.
      Specified by:
      getFileExtensionsToMimeTypes in interface ISVNOptions
      Returns:
      map which keys are String file extensions, and values are String MIME types
    • getDiffCommand

      public java.lang.String getDiffCommand()
    • setDiffCommand

      public void setDiffCommand(java.lang.String diffCmd)
    • getPasswordStorageTypes

      public java.lang.String[] getPasswordStorageTypes()
    • getDefaultSSHCommandLine

      private java.lang.String getDefaultSSHCommandLine()
    • getDefaultSSHOptionValue

      private java.lang.String getDefaultSSHOptionValue(java.lang.String optionName, java.lang.String systemProperty, java.lang.String fallbackSystemProperty)
    • getDefaultSSHPortNumber

      public int getDefaultSSHPortNumber()
    • getDefaultSSHUserName

      public java.lang.String getDefaultSSHUserName()
    • getDefaultSSHPassword

      public java.lang.String getDefaultSSHPassword()
    • getDefaultSSHKeyFile

      public java.lang.String getDefaultSSHKeyFile()
    • getDefaultSSHPassphrase

      public java.lang.String getDefaultSSHPassphrase()
    • getConfigFile

      private SVNCompositeConfigFile getConfigFile()
    • getOptionValue

      private static java.lang.String getOptionValue(java.lang.String commandLine, java.lang.String optionName)
    • compileNamePatter

      private static java.util.regex.Pattern compileNamePatter(java.lang.String wildcard)
    • toLocale

      private static java.util.Locale toLocale(java.lang.String str)
    • getDefaultConfigDir

      private static java.io.File getDefaultConfigDir()
    • getBooleanValue

      public static boolean getBooleanValue(java.lang.String value, boolean defaultValue)
    • getLongValue

      public static long getLongValue(java.lang.String value, long defaultValue)