Upcoming Events
Southwest Gaming Expo
11/20 - 11/22 @ Dallas, TX

Workshop on Network and Systems Support for Games (NetGames 2009)
11/23 - 11/25 @ Paris, France

ICIDS 2009 Interactive Storytelling
12/9 - 12/11 @ Guimarães, Portugal

Global Game Jam
1/29 - 1/31  

More events...


Quick Stats
6893 people currently visiting GDNet.
2341 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!



Link to us

Link to us

Home » Features » Product Reviews » TortoiseSVN
  Intel sponsors gamedev.net search:   

Product Reviews
Jump to:
Software
All product reviews

Product: TortoiseSVN
Developer: The TortoiseSVN team
Reviewer: Stefan Maton
Posted: June 3, 2009
Rating:
Discuss this review

TortoiseSVN
by Stefan Maton

Introduction

One of the most used version control systems is Subversion, which is also known as SVN. Subversion is historically based upon CVS, an older version control which is still used by many developers.

Since SVN is just a server, the client side depends on developers like you and me. TortoiseSVN is one of such applications which are Open Source and widely spread. I'm sure that you already heard the name before.

The version used for this review is 1.6.2 which supports the current Subversion 1.6.2 distribution.

Integration and functions

TortoiseSVN integrates into the windows shell through the explorer context menu (see Picture 1). While some of the functionality is directly available through this top context menu, you'll have to dig one menu down via TortoiseSVN to discover the whole panoply of the available functions. Note that the functions of the context menu can be altered via the settings, but more on that in the Options section.

 
Picture 1: The context menu

When using TortoiseSVN it checks for an updated version of itself. This means, that whenever a new version is available, an informational dialog pops up to inform you about the current version that is installed and the available version that is online (see Picture 2).


Picture 2: The update information dialog

While this sounds like an interesting feature, and it surely is, the way it's implemented is somewhere between useful and annoying. The useful part is that you get informed. The annoying part is that you get informed whenever you use TortoiseSVN for the first time after booting your machine. If you're SVN isn't the latest version and if you don't want to update your TortoiseSVN there's no chance that you can turn this message box off. I searched through the options and wherever I suspected a switch, but I could not find a possibility to turn this off.

Also, the message box you get doesn't automatically start the download and installation of the update, but you have to click onto Click here to go to the website to fetch an installer. I'd rather like an Install update button that having to pass through their web page. As a side note let be mentioned that you have to restart your machine once the installation or update is done. But this is normal for an shell extension, I suppose.

As you've surely seen in Picture 1 TortoiseSVN alters the icons for your files. In fact, the icons reflect the current state of your files. Checked-in files, conflicted files, not yet added files, locked files, modified files, and all other file states are clearly visible through the icon set.

When committing files the dialog enables you to select those you want to submit (see Picture 3). You also can add a comment. The text and property status come handy to identify the file state within this dialog.


Picture 3: Select the files you want to commit and add a comment

Whenever TortoiseSVN is exchanging data with your SVN repository, a window similar to Picture 4 will appear and inform you about the current operation.


Picture 4: Data exchange window

TortoiseSVN implements all features available in SVN. For each functionality, a dialog is available which lets you select options, enter additional information or take any other decision.

TortoiseSVN comes with built-in diff tool which not only is able to display differences between files or folders, but which is also able to display images to compare them. It's possible to overlay the images and blend them using keyboard and mouse combinations in order to see the differences.

Another interesting feature is the statistical information which is available through the log messages window. It enables you to see pure statistics data, commits by date and commits by author in a graphical way. Unfortunately, I only have repositories to which only I commit, so it doesn't make any sense to show you a single-color graph. So please refer to the manual to which I have provided the link on the bottom of the review. Under Revision Log Dialog you'll find screenshots about this statistical feature.

Options

TortoiseSVN offers a lot of options to configure it. Via General -> Context Menu you can add and remove the available functionality of the context menu. This enables you to easily alter the context menu to mirror the functionality you're using most often.

It's possible to select an alternative set of icons which are then used in the explorer to mirror the current state of your files (see Picture 6 ). You can configure your own diff viewer and the merge tool to use, select the level of log caching, etc. etc. etc.

The number of options available is impressive for such a tool, but most often you won't change much of it. Nevertheless, it always feels good to have the control.


Picture 5: The settings dialog


Picture 6: Select an alternative icon set

Pricing

TortoiseSVN is an open source project and thus, it comes with no costs. It's licensed under the GNU General Public License.

Conclusion

TortoiseSVN is a great tool which integrates into the Windows shell without any glitch. It's available for both 32 and 64-bit systems, which is much more than some other tools provide. The different functions available are realized with specific dialogs. Whenever file operations are issued, TortoiseSVN handles them through the same informational window.

The only not-so-nice feature is the update functionality, if you want to call it so. There are better ways to handle this and hopefully a future version of the software will integrate a fully automatic update function.

Pros:

Cons:

Links: