Review of SourceGear Vault Source Control Provider 

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.

Team/Remote Access

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.

Web Interface

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.

Vault Repository List

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.

Vault Change list

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.

Vault Diff Display

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!

Conclusion

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.

Posted by Mitchel on Thursday, April 16, 2009
 

Comments

Thanks for the great article! Our developers have been using Vault source control for some time now and really enjoy the integration it has with Visual Studio. However, our designers are starting to use it and while Dreamweaver does integrate with source control, there seem to be a couple of bugs with the various dialog boxes that come up. Have you noticed any peculiar behavior? Does anyone at your organization use Vault with Dreamweaver?

Thanks.

Joe

By Joe on Thursday, April 16, 2009 at 12:45 PM

Joe,

No we don't have anyone using Dreamweaver here.

You might check with the SourceGear people though.

By mitchel.sellers@gmail.com on Thursday, April 16, 2009 at 1:47 PM

Hi, I was wondering how you actually add your files to source control. I work with multiple DNN installations for our clients and often take a copy and put it on my localhost when I need to do some custom development.
So, for example I have a new DNN site on my localhost and want to develop some modules and also make changes to the skin. I want to put just those folder (ie DesktopModules and Skins/Containers) into source control but I'm told by others at work who use subversion that its hard to just add random subfolders and its best to add the entire website folder and subfolders.
This seems a bit overkill to me and would use up a lot of space in the repository. How do you go about it?

By Mark Chambers on Tuesday, May 12, 2009 at 10:48 AM

I do all of my module development using the WAP development process. I check in individual module projects and that is all. I do NOT check in any core DNN files.

For skins, I have a node for storing skins, and simply add the skins to the proper location using the client tool.

By mitchel.sellers@gmail.com on Tuesday, May 12, 2009 at 11:00 AM

You may also try SourceAnywhere Standalone, which is a SQL-based source control system. It is faster than Vault.

Catherine Sea
http://www.softwareconfigurationmanagement.com/

By Catherine on Tuesday, June 02, 2009 at 10:59 PM

Thanks for that review!

If I understand correctly Vault behaves like VSS in terms of check-in and check-out, which means each action is connecting the server in real time. From my experience with VSS this takes a long time when you're working via VPN (remotely from where the server is).

How is your experience with Vault when it comes to performance?

Today there's a new generation of source control solutions called Distributed Version Control System (ex: Git, Mercurial), where each developer has a full version of the changes history on his machine and this syncs once in a while, which allows you to work even when offline.

Did you happen to try these ones? Can you compare such a solution with Vault?

Thanks a lot!

By David on Monday, January 11, 2010 at 5:53 PM

David,

I cannot compare, but I can say that my vault installation is remote to me, all the time, and even over very slow connections, it is very efficient, and has little to no lag at all.

I have not used Git, so I cannot give more details from that side of the house...

By mitchel.sellers@gmail.com on Tuesday, January 12, 2010 at 4:40 AM
Click here to post a comment

Disclaimer