Full Subversion 1.8 support
SmartSVN supports the Subversion 1.8 working copy format and client-server protocol and virtually all Subversion 1.6 commands, including many extended options.
Tag and Branch Support (SmartSVN Professional)
With SmartSVN Professional you can work with tags and branches as conveniently as if they were native Subversion features. Once you have defined the project repository locations for the trunk, the tags and branches, you won't have to deal with hard-to-remember URLs anymore: Just use tags and branches the way you're used to from other version control systems.
For example, when you need to switch to a different branch or tag, you won't have to type the branch or tag name. but Instead, you can simply select it from a Tag Browser that displays branches and tags in their hierarchical order.
Incoming and Outgoing Change Markers
In the project directory view you can instantly see which directories contain local modifications (red arrows) and which directories have been changed in the repository (green arrows, SmartSVN Professional). In combination with the Remote State of the files (SmartSVN Professional) you can detect and avoid potential conflicts before they actually occur. SmartSVN Professional even shows files and directories which have been added to the repository and aren't locally available yet.
Revision Graph (SmartSVN Professional)
The Revision Graph shows the hierarchical history of a file or directory. It provides operations similar to those of the Log command, such as comparing two revisions of a certain file, but surpasses the Log command in presentation and level of detail. Also, the Revision Graph can show upon request which revisions have been merged, have been merged in the selected revision, or haven't been merged yet.
From the Revision Graph you can instantly see:
- which changes happened in which branch,
- which revision represents which tag,
- when a file was moved, renamed or copied along with its history.
Windows Explorer Integration
In addition and as an alternative to the standalone project view, SmartSVN comes with Windows Explorer integration. This includes all major commands, and you can run the commands directly from within your favorite file manager. SVN file states are shown as icon overlays.
SmartSVN contains a built-in file compare with inner-line comparison and the ability to edit the compared files directly.
With SmartSVN there's no need to edit common Subversion properties, e.g. external definitions, in plain-text. Instead, you can comfortably select the repository locations using a repository browser. Of course, SmartSVN also makes suggestions for relative external URLs, which were introduced in SVN 1.5.
Sometimes, though, it may be necessary to edit properties as plain-text, for example when you have to change a large number of external definitions. Of course, this is also supported by SmartSVN. Property changes are displayed in an embedded compare window.
If you've changed subversion properties of a certain file, it is displayed using a different file icon.
Property changes can also be shown on the Log, Revision Graph and Transactions view.
The Transaction view in the SmartSVN main window automatically fetches information about new revisions from the repository. It will keep you up-to-date on any commits that took place within your project - automatically, clearly, and even from other branches, if you wish. SmartSVN Professional also can watch for changes of other repository locations, e.g. for libraries used by the project.
Green arrows indicate new revisions in the project repository. Blue entries with a blue star represent new "unread" revisions from other watched repository locations.
The project-independent Transactions window (SmartSVN Professional) can watch for commits in any repository. This makes it easy to stay informed about changes in libraries used in your project, or about all SVN activities within your team or the whole company.
Powerful Commit Wizard
SmartSVN Professional (optionally) suggests adding new or removing missing files, and is capable of detecting moved and renamed files.
SmartSVN Professional allows committing changes to externals (nested working copies), giving you the choice between providing one commit message for all affected repositories and providing individual commit messages for each. You don't have to select the external's root directory like in other SVN clients.
When entering the commit message, you can activate a seamlessly integrated compare view. Use this compare view to review your changes in order to write an appropriate commit message or to deselect unrelated files from the commit.
SmartSVN can spell-check your commit messages using Open Office or Mozilla dictionaries. When dictionaries for different languages are registered, SmartSVN automatically detects and uses the best matching language, so you don't have to switch between languages manually.
The Issue-Tracker support (Bugtraq-Properties) is seamlessly integrated into the commit wizard and other modules. For instance, SmartSVN converts issue numbers to links to your issue tracker:
Commit Wizard: JIRA integration (SmartSVN Professional)
You can pick a commit message from a list of open issues fetched from a JIRA issue tracker and optionally mark the selected JIRA issue as resolved if the commit succeeds. This relieves you from having to access JIRA through your web browser after you have fixed a bug or implemented a new feature.
The JIRA integration is implemented as a plugin that builds on the SmartSVNinvalid pathPlugin-API. The plugin's source code is publicly available, so if you prefer using a different issue tracker, you have the option to add integration for your issue tracker of choice based on the JIRA plugin source code.
Change Sets (SmartSVN Professional)
When working on a project, often different tasks need to be done at the same time, e.g., implementing a feature in file X, fixing a bug in file Y and correcting a typo in file Z. This causes your working copy to contain a mix of modifications from different tasks.
Change Sets allow you to organize files (and also directories, because these can have property changes) into groups of related changes which can then be committed separately. Among other things, this can make the commit log a lot more readable.
With SmartSVN 6.5 you can drag-and-drop files onto existing Change Sets.
Starting with Subversion 1.5 Change Sets are also supported by the command line client as well as other SVN clients. In contrast to these other SVN clients, SmartSVN allows to place directories into Change Sets, because directories may contain task-related property changes, too.
With the Repository Browser you can directly browse the structure of your repository. More specifically, you can:
- check out directories,
- view files at different revisions,
- create new directories,
- move or rename files and directories,
- copy files and directories (e.g. to create branches),
- remove files and directories,
- show file or directory Logs,
- show file or directory Revision Graphs,
- show annotated file views.
Copying and moving can be done with drag and drop. Also, if configured, the Repository browser displays tags and branches differently than ordinary directories.
Change Report (SmartSVN Professional)
The Change Report is a file-compare optimized for multiple files. Like the standard file compare, the Change Report displays the changes between two files on a per-line level. You can open Change Reports for local changes in the working copy or for changes between arbitrary revisions. For local changes it displays the file's Change Set and allows you to assign the file to another Change Set.
Conflict Solver (SmartSVN Professional)
Even in perfectly communicating teams it's possible that two people independently change the same part of a file. The resulting conflict needs to be resolved manually. SmartSVN's built-in Conflict Solver combines the freedom of a general three-way-merge with the ability to detect and easily resolve such conflicts. If needed, you can edit the resulting files as you like — you are not bound to accept or reject entire change blocks.
The Log of a file or directory displays its previous revisions back to a specified time in the past. You can see the commit messages, the author, the changed files and directories. You can show a Change Report or a File Compare to see the actual file changes or even perform a rollback to a certain revision if necessary.
SmartSVN provides a tidy presentation of the outputs of the commands you've run, which gives you a good overview of what's happened locally, e.g., which files have been reverted or what has been changed by an update. Possible problems (e.g. conflicts) are highlighted. Depending on the command, convenient context actions such as Show Changes may be available.