What's New in TortoiseSVN 1.8
TortoiseSVN 1.8 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.8, but 1.8 contains features and
bugfixes not present in any earlier release.
This page describes only major changes. For a complete list
of changes, you can check our
and the list of issues for 1.8
Don't forget to check out all the changes in the Subversion
library that also is now at version 1.8: all those changes
are of course in TortoiseSVN as well. See the full list
of changes in the Subversion 1.8 release notes.
Coloring for TortoiseBlame
Instead of just coloring the changes by age/revision,
TortoiseBlame can now color the lines by author so it's easier
to spot who changed which lines.
Commit only parts of a file
When working on a task, it often happens that you find
an issue with the surrounding code. Fixing that issue
leads then to multiple tasks done in the same file,
and therefore also to have multiple fixes/tasks done
in one single commit.
To commit only the parts of the file that relate
to one specific issue:
- in the commit dialog, right-click on file, choose "restore after commit"
- edit the file in e.g. TortoiseMerge: undo the changes that you don't want to commit yet
- save the file
- commit the file
After the commit is done, the original file is restored, containing
all the changes you didn't commit yet.
TortoiseMerge, the visual diff/merge tool that comes
with TortoiseSVN has also a lot of improvements.
- Ribbon UI
- TortoiseMerge uses now a Ribbon instead of a plain
toolbar for its commands.
- new shortcuts to search (Ctrl+F3), better indication of search matches, only search the active view.
- go to line
- a new command to go to a specific line number.
- inline diffs
- inline diffs can be toggled on/off with a single button instead of going through the settings dialog
- handling of UTF-32 files
- TortoiseMerge can now handle files in UTF-32 encoding as well, and recognizes more EOL formats.
An often requested feature for the Repository Browser
was to list all the repositories that are offered via the
directive. This is now possible: point the repository browser
to the root url and it lists all the repositories.
At the bottom of the Repository Browser dialog a summary
is shown, indicating the number of files and folders and the
currently shown folder.
There are also two new buttons to go back and forward,
like in web browsers.
Third party libraries
When there are third party libraries stored in the
working copy directly, i.e., not via the svn:externals
property, then updating those is not quite easy.
Just copying over the new version will work of course, but
if the new version has files removed, those files will still
be in your working copy.
In version 1.8 TortoiseSVN offers an easier way to do this:
just right-drag the folder with the new version of the library
to the version stored in your working copy, then select
SVN vendor branch here from the context menu.
TortoiseSVN then scans both directories, copies all
new files, removes files that are not present anymore in the new
After TortoiseSVN updated the folder, all you have to
do is commit the new version.
The dialog that shows the progress of various operations
now has a better indication of sections/grouping, for example
when updating a working copy that has multiple externals set.
Each section/group is indicated by the first line shown in bold.
And as for updating externals: only those externals that pull
down modifications are shown in the dialog. If an external hasn't
changed then the dialog does not show any information for it.
This reduces the no-information lines a lot, especially if you
have a lot of externals set.
SubWCRev also got a lot of improvements, the major ones are:
- Files in UTF-16 encoding can be used as well, either as
sources/templates or as target files as well.
- A new option to specify an offset for the working copy revision.
This is required in case your repository is at revisions > 65535 and
you want to use the revision for the version resource: the Windows
version resource numbers are only 16-bit, and in this situation
you can specify a negative offset so the version resource number
is below that 16-bit limit.
- SubWCRev can detect unversioned files and/or folders. This
is useful in case you want an error returned in your build in case
you have such unversioned items in your working copy, indicating that you
may have missed to add and commit those items.
If you're using custom properties, you can now configure TortoiseSVN
to provide better dialogs to edit and modify them.
The properties tsvn:userfileproperties and tsvn:userdirproperties
got extended so you can specify what kind of property you have.
Have a look at our
on how this works.
Client hook scripts configurable via properties
In earlier versions you could only configure client-side
hook scripts via the settings dialog. This worked ok if you
only had a few workstations/users to configure. But if you
wanted a big team of committers to all run the hook scripts
you needed, this required a lot of work to set up.
In TortoiseSVN 1.8 you can now configure the hook scripts
to run via project properties.
To avoid running potentially insecure scripts without the user
knowing it, TortoiseSVN will ask to run those scripts first.
Have a look at our
on how this works.
Local Client Compatibility
Subversion working copies are sometimes accessed using
several different clients, e.g. TortoiseSVN, AnkhSVN,
and the svn command line client. Because the working copy format
has changed with this release, 1.8 clients cannot access an earlier
working copy without first upgrading it. Pre-1.8 clients cannot access
1.8 working copies at all and there is no downgrade option.
Migrating to 1.8 working copies must be considered a one-way
operation. If you need to use multiple clients on the same working
copy then be sure that you can update all the clients before upgrading
the working copy.
Client Server Compatibility
Older clients and servers interoperate transparently with 1.8
servers and clients. That is to say, you can use a 1.8 client with
an older server, and you can use a 1.8 server with older clients.
However, some of the new 1.8 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
New Feature Compatibility Table
Log Dialog enhancements to help with code reviews
A new context menu 'Create code collaborator review' has been added to
provide interoperability with the SmartBear Code Collaborator review tool.
Two new context menus and commands have been added to the log dialog when
multiple files are selected in the bottom 'files changed' listbox.
- Show multiple changes...
- Open multiple local...
The details of how these commands work, which include special support for
loading working copy files into Visual Studio can be found in the subversion
help file under the topic 'Invoking the Revision Log Dialog'.