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

LOOP 2009
11/26 - 11/29  

EVA 2009
12/4 - 12/5 @ Buenos Aires, Argentina

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

More events...


Quick Stats
6383 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 » AnkhSVN
  Intel sponsors gamedev.net search:   

Product Reviews
Jump to:
Software
All product reviews

Product: AnkhSVN
Developer:
Reviewer: Stefan Maton
Posted: May 12, 2009
Rating:
Discuss this review

AnkhSVN
by Stefan Maton

Introduction

If you're using Subversion as your source code repository, you might already have stumbled upon AnkhSVN. AnkhSVN is a source control provider which integrates into Visual Studio to enable you to directly access your source code, see its current status and commit your latest work to the repository.

The version used for this test is build 2.0.6347 which supports Subversion 1.5.x. Support for Subversion 1.6.x is only available through daily builds which means that it's still in development. It will be available with the release of Version 2.1.

Integration and functions

As an Visual Studio SCC provider, AnkhSVN fully integrates into Visual Studio. During the installation of the software, it registers automatically with your Visual Studio installation. If you have (as I do) installed VS2005 and VS2008, it registers for both. Upon loading you will see it in the list of installed products (which is also available through Help->About Microsoft Visual Studio). If you want to check if AnkhSVN is selected as your current source control plug-in, you can do so by going to Tools, then Options. You'll find the selected source control plug-in under the Source Control tree view branch.

When you start working on a project, you might not yet have added it to your Subversion system. AnkhSVN helps you to add the project to the repository. You simply right click onto the project within Visual Studio, select Add solution to Subversion and a window will open, enabling you to enter the data necessary to connect to the Subversion server to add the project (see picture 1 and 2).


Picture 1 Add a solution via the context menu


Picture 2 Select the repository during the add

Once you've entered the repository URL, a tree view of the repository is visible. You can create new folders or select an existing one to link it with your project. After clicking onto OK, the project is added to the repository and the pending changes window appears containing the current state of your solution and source code files (see picture 3). Also, the icons aside the files in the solution explorer have changed to mirror the source control state. Please refer to the AnkhSVN FAQ to see a complete list of these icons and their meaning.


Picture 3 The pending changes after we have added the project to the Subversion repository.

It's possible to commit the source code we have added or changed in different ways. Either we use the pending changes window or we right click onto the item we want to commit in the solution explorer and select Commit. As AnkhSVN is a SCC provider, it fully integrates into the system.

Using the pending changes window, you've got the possibility to add comments to your submit to describe what you've actually done, why you've done it, etc. Using the context menu opens a commit to Subversion window.


Picture 4 Commit a single file

In picture 5 you can see the complete context menu of AnkhSVN in Visual Studio. All the functions available in SVN are accessible through this menu. Whether you want to see a diff of a source file, or you want to branch or merge a project, it's feasible within Visual Studio.


Picture 5 The context menu

The integrated diff tool is quite basic but does its job (picture 6). If you want to, you can configure an external merge and diff tool via Tools->Options->Source Control->Subversion User Tools.


Picture 6 The integrated diff tools does its job

A repository explorer is provided and integrates into Visual Studio as you would expect it. All information you need about the repository servers, the files and their status is visible. The properties of a selected folder or file are displayed in the properties tab.


Picture 7 The repository explorer


Picture 8 The properties of each file in the repository are visible

When working with a project, you don't always add all the necessary files to the solution. I.e. the data files or documentation you write most often are not part of the solution file. The developers of AnkhSVN had a thought about this and added the working copy explorer (WorkingExplore.jpg). This explorer enables you to add those files to the repository.


Picture 9 The working explorer helps to add non-solution files to the repository

Finally, for those who need it, can open a project from the Subversion repository (OpenSub.jpg), which will download the project onto your hard drive.


Picture 10 Open a solution from within the repository

Options

The number of options you can configure is not that big. But then, you don't really need it because AnkhSVN delivers all Subversion provides. While you can configure the merge and diff tools, the integrates tools do their job.

Pricing

AnkhSVN is an open source project and thus, it comes with no costs. It's licensed under the Apache 2.0 license.

Conclusion

As with every piece of software, not everything is perfect. Sometimes you'd wish that they'd provide some default key bindings because it can be a pain to search through the keyboard settings to do so by hand.

Also be aware that some problems might arise if you use in parallel TortoiseSVN and AnkhSVN. Be sure to have installed versions that support the same Subversion version number.

The 2.1 Version of AnkhSVN is in the trenches. The most significant change is the support of SVN 1.6, but it lacks the support of resolving tree conflicts. Also, the 2.1 will contain a speed-up of the different features since the developers have done some performance diagnostics.

If I would compare it with other, commercial SVN integration solutions AnkhSVN performs very well and is unbeatable point of view cost/features. Although the AnkhSVN community is very helpful with any issue you might encounter, a commercial package might be the better choice if you need personalized support.

Pros:

Cons:

Links: