|
Jump to: Software All product reviews |
|
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: