5 Features I'm glad to see in Visual Studio 2008 Team Foundation Server

Apart from CI support which I wrote about in a  previous post there's a whole bunch of new features in TFS which are noteworthy, such as SQL named-instance support (so multiple TFS instances can share a SQL server), simplified installation, support for things like log shipping and more. But here are 5 I'm glad to see, in no particular order...

Run GUI tests as part of an automated build ...

...while preventing access to a GUI desktop. I don't know how they did this (yet) but I must find out as it's something I've run into numerous times with other automated build systems and usually solved either by a) not running GUI tests as part of an automated build - hardly ideal,  or b) including them and getting incredibly annoyed when I was logged in to the build machine and a set of tests kicked off. The latter usually resulted in a mysterious failed build for the unfortunate who kicked off the build, but the less said about that the better :-).

Annotate

(This was previously available as a power tool). Annotate is a great way of navigating the history of a file and figuring out who last worked on a particular area of the code - a good alternative to doing diffs on successive versions of files!

image

There's a link to each changeset on the left which will pop up the details for that changeset so you can examine check-in comments, associated work items and so on, and you can do your diff with previous version from there if you wish.

Get Latest on Check-Out

The support for merging in TFS is good, but as you'd expect there are times when it needs you to resolve ambiguities. I like to avoid this when I can, so the change in behaviour from Sourcesafe used to niggle me a bit because, as I saw it, it caused me several "unnecessary merges" - ones which could have been avoided had I just done a Get Latest Version before starting to make my own changes. Usually there was a SQL file involved, and since I wasn't fortunate enough to be using Team Edition for Database Professionals at the time I generally tried to avoid making changes at the same time as anyone else (and locked the file when I checked it out as well). Now there's a (welcome) option which specifies that you want TFS to download the latest version of files when you check them out.  This one may be below the fold on page 1, but I'm glad to see it!

Folder Diff

Does as it says on the tin - now available out of the box rather than previously as a power tool, with improvements. Again, handy rather than cool.

image

Stop & Delete a build from within the IDE

If you've ever been a bit quick on the trigger finger then you'll appreciate the ability to erase the evidence - from within the IDE! Cool!

image