Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

The vast majority of SmartSVN's system properties can be configured by editing the file smartsvn.properties in the settings directory.

Note

The file smartsvn.properties contains only settings for SmartSVN itself. If you want to configure your Subversion working copies, have a look at the Subversion configuration files instead.

First, open the settings directory. Its default location is described in Default Location of SmartSVN's Settings Directory. In the settings directory, you will find the smartsvn.properties file. Open it with a text editor, such as Windows Notepad.

Each of the settings in smartsvn.properties is specified on a separate line, according to the following syntax: key=value. If a line starts with # , the entire line is treated as a comment and ignored by the program.

The following list shows the available system property keys:

Interaction with SVN

smartsvn.commit.disallowedFilenameCharacters

Lists the filename characters that should be disallowed for committing. This property defaults to: <>:"/\|?*. These characters are reserved on Windows, Unix and Mac OS, and disallowing them in filenames ensures that committed files can be checked out on every platform without problems.

smartsvn.externals.forceNewSyntax

In Subversion 1.5, the syntax for the svn:externals feature was changed. By default, SmartSVN will store all entered externals specifications in the pre-1.5 syntax, even if entered in the new syntax. With this option set to true, you can force SmartSVN to use the new syntax for storage instead.

Transactions

smartsvn.transaction.messageLength

Sets the maximum length of the commit message that is displayed in the Transactions view, in characters. Commit messages whose lengths exceed this limit will be truncated.

smartsvn.transaction.maximumFileCount

Sets the maximum number of files or directories per revision to be displayed in the Transactions view. If a revision contains more changed files or directories, it will be truncated, and a note "File display limited" will be added to the commit message.

smartsvn.log.maximumCustomProperties=10

Sets the URL used to check for new program versions.

Log Cache

smartsvn.logcache.refreshChillOut

These two properties allow you to adjust the "chill out cycles" for building the Log Cache. This works as follows: Suppose the "refreshChillOutCycle" and "refreshChillOutSeconds" properties have the values N and T, respectively. Then if N > 0, SmartSVN will sleep for T seconds everytime it has processed N revisions. If N = 0, no such chill out cycles will occur. As an example, if N = 1000 and T = 60, SmartSVN will sleep 60 seconds each time it has processed 1000 revisions. Adjusting these chill out cycles may help in taking off some load from a server that has many clients which are trying to build their Log Caches all at the same time. Warning: With these two properties, you can significantly slow down the building of the Log Cache, to the point of making it unusable. By default, they are set to: smartsvn.logcache.refreshChillOutCycle=0 and smartsvn.logcache.refreshChillOutSeconds=10

smartsvn.logcache.maximumMessageLength

Sets a length limit for the storage of commit messages, in characters. Commit messages whose lengths exceed this limit will be truncated, and a note about the truncation will be appended.

smartsvn.logcache.large

When creating a Log Cache, SmartSVN tries to detect whether the repository might be large and hence it should suggest to create a cache only for a certain module instead of the entire repository. A repository will be considered as large if it has more than a certain amount of revisions and more than a certain number of top-level directories ("modules"). Use the following two options to change these thresholds: smartsvn.logcache.large.revisionThreshold=10000 and smartsvn.logcache.large.directoryThreshold=10

Processes

smartsvn.filemonitor.enabled

Set to false to disable the file monitor (which watches for file system changes).

smartsvn.filemonitor.exclude

If you have filemonitor-related performance problems, you may try configure semicolon-separated patterns for events that should be ignored. Each pattern may contain wildcards ? or *, e.g. */.ccache;/temp/*.

smartsvn.filemonitor.watchNonFixedDrives

On Windows, set this option to false to disable file monitoring for folders that lie on removable drives.

smartsvn.filemonitor.watchUncPaths

On Windows, set this option to true to enable file monitoring for UNC paths. Depending on the network drive type, this may slow down file monitoring and/or may not work reliably.

smartsvn.disableCheckForNewVersion

Set to true to disable the automatic checking for new program versions. You should only turn this check off for network installations where SmartSVN users may not be able to perform the update themselves.

Note that this will also disable notifications of new bugfix releases which you can upgrade to for free and which improve the reliability of SmartSVN.

Networking

java.net.preferIPv4Stack

By default, SmartSVN prefers to connect via IPv4. To connect via IPv6 instead, set this option to false.

http.nonProxyHosts

Use these properties to specify servers to connect directly to, bypassing the configured proxy, for example: *.foo.com|localhost. Note, that only internal code of SmartSVN is honoring http.nonProxyHosts. This does not include Subversion itself.

smartsvn.proxy.timeout.connect and smartsvn.proxy.timeout.read

These two settings specify the timeout in milliseconds for connecting to and for reading from a proxy, respectively. Proxies may be used e.g. by "SmartSVN Updates".

User Interface

smartsvn.shellIntegration.iconifyOutputWindowByDefault

When performing an operation, for example a commit, via SmartSVN's shell integration, the Output window is normally opened to report the status of the operation. On the Output window, you can set whether it should be closed automatically after a certain delay. In the case that the window is closed automatically, you can set this property to true to have the window be opened in minimized state by default, in order to make it less intrusive.

smartsvn.output.maximumFileCount=100

Determines the maximum number of files/directories per command to be displayed in the Output pane.

smartsvn.accelerators.tabCtrlI

By default Ctrl+I enters a tab character. SmartSVN contains code to prevent this. To use the default behavior (disable SmartSVN Ctrl+I code), select this option to true.

smartsvn.browserCommand

By default the system browser is used on Windows and Mac. On Linux common browsers are tried to find. If you want to use a certain browser, you may set its path using this option.

smartsvn.ui.splashscreen

To hide the splash screen, set this option to false.

smartsvn.ui.verboseDate

By default, times from today and yesterday are shown in a short form. To always show the date in the full form, set this option to false.

smartsvn.ui.verboseDate.showOnlyTimeForToday

To show only the time (i.e. without "Today") for times from today, set this option to false.

smartsvn.ui.systemtray.linux.enabled

On Linux, the system tray is disabled by default due to problems with Unity desktops. To enable the system tray, set this option to true.

smartsvn.ui.toolbar.textRightBesideImage

Defines where the text in toolbar buttons is shown relative to the image.

smartsvn.annotate.maxToolTipWidth

In the Annotate window, if the mouse hovers over the yellow line detail column, a tooltip with additional information is shown. With this property you can specify a maximum width in pixels for this tooltip. The specified value must lie in the range [10; 1000]. If the value is not specified or out of range, the default value of 400 pixels is used.

smartsvn.annotate.maxComboboxMessageLength

In the Annotate window, commit messages are displayed in the combobox in the upper part of the window. This property limits the length of the displayed commit messages, i.e. all commit messages that are longer than this property's value will be truncated.

smartsvn.tree.forceFullSelection

Defines whether the tree views throughout the program should use "full selection" style. "Full selection" means that when an item on a tree is selected, the selection box will fill the entire width of the tree, rather than only the item's width.

smartsvn.ui.useColorsIfSelected

Defines whether tree or table views are allowed to use colors other than the system's default background and foreground color to display selected items. Depending on the current platform, the usage of additional colors is disabled by default to improve the readability of selected items.

smartsvn.reveal.commandLine

"Reveal in File Manager" by default uses hard-coded, platform-specific file managers (Windows: Explorer, OS X: Finder, Linux: Nautilus). Depending on your file manager, you may use the placeholder ${filePath} or ${fileUri}.

smartsvn.forceActive, smartsvn.forceActive.dialog and smartsvn.forceActive.window

Set one of these options to true to forcibly make new windows/dialogs active.

smartsvn.flatLook

Set this option to true to use a lighter color for the border of view controls.

Text editors / File Comparison

smartsvn.compare.skipBinaryComparison

To disable the comparison of binary files set this option to true. This may be useful if you usually have large binary files in your repository. When read, these files may slow down certain views, e.g. the "Changes" view.

smartsvn.compare.maximumFileSize

By default, the file comparison is disabled for very large files. Use this setting to adjust at what size (in bytes) a file is considered 'too large'.

smartsvn.compare.text.maxLineLength

By default, the file comparison treats files with very long lines as binary files for performance reasons. Use this option to configure the maximum characters per line (default: 10000) which should be treated as text files.

smartsvn.compare.innerLine.maximumLineLength and smartsvn.compare.innerLine.maximumLongLineCount

The file comparison algorithm consists of two phases. In the first phase, changed lines are detected, and in the second phase, the algorithm will search for changes within corresponding lines. The second phase becomes slower if there are too many long lines, so it is skipped when that happens. These settings allow you to adjust the detection of long lines: The second phase is skipped if the two files contain more than 'maximumLongLineCount' lines that are longer than 'maximumLineLength' characters in length.

smartsvn.textEditors.syntaxHighlighting

Set this option to false to switch syntax highlighting off permanently, regardless of Preferences settings.

Debug Properties

log4j.[category]

Use this property to enable debug logging for certain SmartSVN modules; [category] has to be replaced by the appropriate module identifier.

Example

To enable debug logging for the Refreshing modules, set following properties:

log4j.smartsvn.refresh=DEBUG
log4j.sc.vcs.model.refresh=DEBUG
					
  • No labels