Well I finally got around to checking out Vault by SourceGear. I used to be an avid source safe user for a long time. I have even used SourceGear's SourceOffSite for a while on a project for BattleBots. However I have been forced to use PVCS at my day job. I have never liked the client for PVCS and now that I work virtual I dislike it even more. I won't go into details about why I dislike PVCS because this post is about Vault.
- Some reasons I chose Vault:
- Free for single users
- Works on SQL Server
- Built on .Net Built with remote users in mind
- Seems to be getting good reviews from users
- Works a lot like source safe (from a functionality perspective). Have I mentioned how much I hate PVCS :)
- Integrated with a Bug Tracking program also authored by Sourcegear
Installing Vault on my local machine was a real breeze. Installing it on WebHosts4Life was a little trickier, but not that bad at all. Using the client application has been a real joy. I have used it off and on for 2 weeks now and I have to say it has some cool built in features. It is also very responsive as far as I can tell. I don't have any real big projects under source control yet, but just using it with what I have is very fast.
- Some of the coolest features I like:
- Adding new files by folder with file extension filtering (already tailored for .Net development).
- Showing what source is out of sync due to changes made localy or in the repository.
- Merging local files with repository files is a breeze when local changes where modified without the source being checked out. All you have to do is check out the files and an automatic merge can be done.
- Searching for files by many options
- Treating check ins as one complete transaction (although I don't see how to place new files in this transaction, but that is not really necesary)
All in all I would highly recommend Vault to anyone. If I ever get a project that requires multiple developers I will definantely be using Vault as my source control program.
I am in the process of adding NAnt tasks for Vault command line operations. I know I can do this already by using the NAnt exec task but I wanted to capture the errors and success state that comes back as xml from the Vault command and expose them as properties that can be acted appon within NAnt build scripts.