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.