TortoiseSVN Logo

What's New in TortoiseSVN 1.6

TortoiseSVN 1.6 is a superset of all previous TortoiseSVN releases, and is considered the current stable and "best" release. Anything in earlier versions is also in 1.6, but 1.6 contains features and bugfixes not present in any earlier release.

Compatibility Concerns

Older clients and servers interoperate transparently with 1.6 servers and clients. However, some of the new 1.6 features may not be available unless both client and server are the latest version. There are also cases where a new feature will work but will run less efficiently if the client is new and the server old.

New Feature Compatibility Table

New FeatureMinimum ClientMinimum ServerMinimum RepositoryNotes
handling of tree conflictsanyanyanyUsing servers older than 1.6 is possible, but some kinds of conflicts will not be detected.

Working Copy and Repository Filesystem Format Changes

The working copy format has been upgraded. This means that 1.5 and older Subversion clients will not be able to work with working copies produced by Subversion/TortoiseSVN 1.6. Working copies are upgraded automatically.

Working Copy Upgrades

WARNING: if a Subversion 1.6 client encounters a pre-1.6 working copy, it will automatically upgrade the working copy format as soon as it touches it, making it unreadable by older Subversion clients. If you are using several versions of Subversion on your machine, be careful about which version you use in which working copy, to avoid accidentally upgrading a working copy.

If you accidentally upgrade a 1.5 working copy to 1.6, and wish to downgrade back to 1.5, use the change-svn-wc-format.py script. See this FAQ entry for details, and run the script with the --help option for usage instructions.

New Features / Enhancements

file:/// access to BDB repositories

TortoiseSVN 1.6 no longer supports access to BDB repositories via the file:/// url. This doesn't affect accessing BDB repositories over svn:// or http:// though.

If you have a BDB repository that you still access via the file:/// url, you have to convert the repository to the FSFS format with the svnadmin tool which is available in the SVN command line client.

Please follow the instructions in the Subversion book to convert the repository.

Improved handling of tree conflicts

Subversion 1.6 can detect tree conflicts during update/merge/switch operations. Those items are then marked as conflicted to indicate the problem.

Note that Subversion is still treating renames as a "copy+delete" operation, so file renames causing tree conflicts can only be detected in terms of file additions and deletions. Because of this, false positives during tree conflict detection are possible.

TortoiseSVN 1.6 shows those tree conflicts during the operation when they happen, and also with a conflict overlay and in the Check-for-modifications dialog.

A new conflict resolve dialog helps with resolving such conflicts, indicating the type of tree conflict and hints on how you can resolve those conflicts.

Log Cache

The log cache introduced in TortoiseSVN 1.5 has been improved to run more smoothly. An extensive set of options is available to control the cache management. See the settings dialog for details.

Also, repositories sharing the same URL or UUID are now fully supported.

Revision Graph

The revision graph has changed dramatically and has been rewritten almost completely.

Revision Graph

The new revision graph has many more options to tweak the output. For example, it is now possible to hide/show individual subtrees.

IBugtraq provider plugin enhancements

A new interface IBugtraqProvider2 can be used by plugins get more control over commits and provide more information for the user.

This new interface allows a plugin to reject a commit, execute a task after a successful commit (to e.g., add an entry to the issue in the issue tracker). It also allows plugins to show an options/settings dialog. And a plugin can add revision properties with each commit.

Developers interested in writing a plugin for an issue tracker can get the code for example plugins in C++ and C# from our contrib folder.

Misc changes

There are many more changes in 1.6 worth mentioning:

  • Ignoring multiple files by extension
  • Filtering by bug ID in the log dialog
  • Negating the filter in the log dialog
  • Better handling of "runas" in the status cache
  • Items are grouped by external in dialogs if no changelists are present
  • Overlays in status lists for checkout depths and external/nested items

Of course, those are not all the enhancements/changes that were done for this 1.6 release. You can get a more detailed list of changes from the changelog or by showing the SVN log on our repository.

Known issues in 1.6

File externals

Subversion 1.6 now supports single file externals as well as folder externals. However, there are some significant issues you should be aware of before using them.

A file external is created by adding a value to the svn:externals property of a folder. However, once such a file external has been added it cannot be removed from the working copy, even if you delete the svn:externals property. The only way to remove the file from your working copy is to make a fresh checkout. See Subversion issue #3351

It is currently not possible to add a binary file as an external. See See Subversion issue #3368