My last blog article "Selecting the Right Source Control Provider" touched on the evaluation criteria that I use when looking for a source control system. This article is a review of sorts of SourceGear's Vault product, my preferred source control system. I'll start by reviewing vault as it relates to the criteria from the previous article, I will then provide my overall feedback on my experience with Vault.
Visual Studio Integration
This first category is one of the areas that Vault truly shines in my opinion. The most current release provides both a classic, and an advanced client for Visual Studio. Both clients function in a very efficient and easy to use manner and overall all of the features needed are available from right in Visual Studio. The ability to do diff's, the ability to look at the history and obviously the whole check in and check out processes. Additionally, their implementation of a "Open from Vault" functionality makes switching PC's a dream, no manual intervention needed. Other source control providers that I have used supported this option, but their implementation didn't work as flawlessly as Vault's.
This category is by far the one that Vault exceeded my expectations. Overall, I'm a single developer, but when working on projects I'm often developing from locations other than my home office, or switching between computers. Vault is setup as a standard website, and submits traffic over standard http/https channels. This alone makes it easy to setup and configure for access from anywhere. Now, we combine this with the amazing web administration and access UI, we have a tool that is really setup for ease of use.
For me this web interface is such an important part of the solution that I wanted to take a bit of time here and show some general screen captures of how the interface works, and what can be done. Upon first entering the system you see your repository listing, a partial example of this is below. This screen allows you to see total file counts and drill down into your individual projects.
From here you can look at individual file histories, and also view recent check-ins. When viewing check-ins you can actually see a transactional layout of what has changed. The following is a snippet from a checkin. Notice that you see a single comment, timestamp and user and all files. This presentation I find very helpful.
The last piece that I wanted to show was that the Web UI has full support for doing file comparisons. No need to be at your machine with the Vault tools installed, you can perform diffs on any version stored in history and see the changes on screen. A number of configuration options exist to control the view type and other display parameters allowing you to most easily see/work with your data.
Overall I think that this web UI is one of the more helpful features of Vault and it was the final selling point for me when selecting my provider.
Backups and Restores
As for backups and restores, Vault uses a SQL Server database for the storage of all project items. This allows for very easy backups which can be completed with a standard SQL Server database backup. For me this is a very helpful and important item as I have a much better understanding of what is needed, and my backups are easily automated along with other backup routines in my environment. Restoring is very simple, you can re-install vault, and point it to the existing database and you can be back up and running in literally 5 minutes!
Overall, I don't have any complaints about Vault. It has been a proven, reliable source control system, with robust Visual Studio integration and a great web interface. The even better part is if you truly only have 1 user you can get it for free! Feel free to share your comments below.