Vault 1.1

This past week I've spent some time playing around with the 1.1 preview for Sourcegear's Vault source control system. After a few minutes I was impressed, after a few days I am in love with it. 
A little background on Vault might be in order. Vault is a full features Source Control system that handles both CVS and VSS versioning styles. It is also their answer for replacing Visual SourceSafe. They make this really easy by offering a complete migration tool. It was written using C# and uses ASP.NET Web Services to connect to its SQL Server database. All-in-all, very cool product.
The single most important improvement over 1.0 is the integration with FogBUGZ. Although other SCC providers can be integrated, Sourcegear is the only provider to build their implementation directly into the product. Most other implementations are simply hacks devised by FogBUGZ users to parse comments for the bug#. But with Vault you get a dedicated field for this purpose, making it a lot less error prone.
Integration with FogBUGZ gives Vault an almost complete answer to the Borland StarTeam Task feature (my all time favorite SCC feature). Tasks allow you to put any collection of changes into a single context. For example, you could have a task "Fix error when printing" and every checkout and checkin would happen within the context of that task. This let you know what code was changed for any given task. Now I can achieve similar results with a combination of Vault & FogBUGZ. So when you want to know exactly what was changed to fix your printing error, just look at FogBUGZ and it will list the files (you can even run a diff against them from your browser).
Why almost complete? It is still missing one key aspect of a task based system. In a true task based system, checkouts should be related to a task (not just the checkin). This is only a minor issue for me and if you use a CVS style of versioning then it isn't an issue at all (being that you don't checkout in the first place).
Most of the other changes seem are what you would expect from a point release. There are some noticeable performance improvements and I'm told the Visual SourceSafe import has improved a lot. There is also a new feature called Keyword Expansion but I have no earthy idea what that means.

1 Comment

  • Keyword expansion usually refers to the ability to include a term that is expanded to say the last modified date, or the version by the source control system. If this data is in a string variable then the application can display the version of the code that was used to create the build.

Comments have been disabled for this content.