SmartSVN offers a shell integration to have the SVN functionality of SmartSVN also present in certain parts of GUI shells, like in file dialogs. The shell integration is currently present on Microsoft Windows and Apple Mac OS X. It is only available when SmartSVN is running (except the one on Mac OS X 10.6).
From the shell's context menu, there are the most important SVN commands available for locally versioned files and directories. Performing commands from the shell's context menu results in the same dialogs and windows as if performing the commands from the Project Window. For details regarding the commands refer to Commands.
For commands performed from the shell, the same environmental settings are used as when performing them from the Project Window. This especially implies the Project Settings, if for the current working copy directory a corresponding project exists. If no matching Project can be found, SmartSVN will use the Default Settings.
From the context menu, use Open Project (or Open SmartSVN if no file/directory is selected) to launch the Project Window and open the corresponding project.
Tip |
For the command icons, the icon files within lib/icons in the installation directory of SmartSVN are used. The names are corresponding to the command names. For every command, there is a default icon and a grayed version, which has an additional -g in its name. If you prefer, you can replace these icons. |
Unfortunately, Apple has dropped the Finder integration API with OS X 10.6. Hence, SmartSVN only can provide a very simple alternative using socalled services. From the Finder's context menu three commands are available if files or directories are selected: Update from SVN, Commit to SVN and Open in SmartSVN. Note, that because of the limited services API these commands are available independent of the SVN state of these files or directories. They are even available for items which are not SVN-controlled. In contrast with the shell integration on Windows and OS X 10.5, SmartSVN does not need to be running to be able to invoke the commands. If necessary, SmartSVN will start automatically.
All commands invoked from the shell integration will be executed in a special output window. You may select Close automatically on success to have the window closed automatically after all currently running operations have been completed successfully.
Refer to Window for more details.
The overlay icons show the SVN states for the corresponding files and directories. Currently, overlay icons are only present on Windows. Because the number of possible overlay icons is limited by the operating system, only the most important SVN states have a special overlay icon, see Overlay Icons for details. Versioned, but unchanged files and directories do not have a special overlay icon. For all other SVN states, the modified icon is used.
Tip |
For the overlay icons, the icon files within lib/icons in the installation directory of SmartSVN are used. The names are corresponding to the States used in Overlay Icons. If you prefer, you can replace these icons. |
The availability of overlay icons as well as commands can be configured in the Preferences.
Note |
On Windows, for technical reasons no icon overlays for files within your profile directory %USERPROFILE% are shown (except of sub-directory My Documents). |
To provide the shell integration without requiring SmartSVN actually being open, SmartSVN can be started with the --server-mode argument, for details refer to Command line arguments.
The shell integration adds overlay icons to directory and file views of Windows and SVN commands to the context menu for directories and files. You will especially see them for the Windows Explorer, but also for other software which e.g. uses the native file dialogs of Windows.
You can choose to enable the shell integration for the installation of SmartSVN, when using the MSI installers. It's also recommended to have SmartSVN automatically be started with the system startup, so the shell integration is available immediately. The installers offer a corresponding option which will add SmartSVN to the Autostart section, starting SmartSVN in server mode.
The shell integration will be uninstalled together with SmartSVN. You can also uninstall the shell integration independently from the Control Panel, Software, using Repair there.
The Finder integration lets you perform SVN commands in the Finder using the context menu.
On the first start, SmartSVN asks whether to install the Finder integration. If you choose to install it, SmartSVN will create a symbolic link ~/Library/Contextual Menu Items/SmartSVN CM.plugin. If you choose not to install, you can install it later by selecting the option Integrate in Finder on the Shell Integration page of the Preferences.
If the installation by SmartSVN itself fails for some reason, you can install the Finder integration yourself. If the folder ~/Library/Contextual Menu Items does not exist yet, create it. Right click the SmartSVN application in the Finder and select Show Package Contents. Copy the SmartSVN CM.plugin from within the SmartSVN application to the folder ~/Library/Contextual Menu Items. Log out and relogin again.
Unselect the option Integrate in Finder on the Finder Integration page of the Preferences.
To manually uninstall the Finder integration, just delete ~/Library/Contextual Menu Items/SmartSVN CM.plugin and log out and relogin again.
The Finder integration will only work when SmartSVN is running. The easiest way to do that automatically, is to let SmartSVN be launched at login. Just right click the SmartSVN dock icon and select Open at Login. Alternatively, you can use the Accounts panel in the System Preferences to define SmartSVN as Login Item. Note, that the Hide option has no effect. If SmartSVN is defined as Login Item, it will be started in server mode.
By default, SmartSVN keeps running even when all frames have been closed. To have SmartSVN still accessible, a tray icon is used. It's available for Microsoft Windows, most Linux desktop managers and other operating systems for which tray icons are supported.
From the context menu of the tray icon, use New Project Window to open a new Project Window, New Repository Browser to open a new Repository Browser or Show Transactions to open the Transactions frame. Open the Preferences or information About SmartSVN. To exit SmartSVN, use Exit SmartSVN.
Note |
On Mac OS SmartSVN is permanently available when SmartSVN is running, even when all frames are closed. In this case it has a reduced menu bar, including the Window menu. |
The tray icon shows the progress of currently processing SVN operations which have been invoked from the shell extensions. It also shows the presence of new revisions for the Transactions frame; the tooltip gives more information on which repositories have new transactions.
You can disable the tray icon in the Preferences by deselecting Nest in System Tray. In this case, SmartSVN will exit once the last frame has been closed.
Note |
The Nest in System Tray option is not regarded when starting SmartSVN in server mode. |
The Status Cache is an optional Windows service which manages SVN status information for your working copies. It's primarily used to displayed the recursively modified state for directories, which is denoting that some files/subdirectories are modified. Also, the initial scanning/refresh accesses Status Cache information to quickly give a preview of the working copy.
To avoid unnecessary system load, the root directories which will be served by the Status Cache have to be explicitly configured. SmartSVN will ask you to do so for the first command which you perform through the Shell Integration. The Status Cache can be reconfigured any time in the Preferences.
You should carefully determine which root directories should be be served by the Status Cache, as the Status Cache will introduce a certain overhead to your system's load. This overhead comes more apparent the slower the file system to cache is. In general you should:
So for instance, if all of your working copies are located at a separate drive D:, it will be perfect to have the Status Cache configured for this single root directory D: and nothing else.
If you are only rarely working with the Shell Integration and additional recursively modified state is not important to you, you may completely uninstall the service. This can be done via the Control Panel/Add or Remove Programs, selecting the SmartSVN installer, Change and within the installer using Change again.