Sunday, August 26, 2007

Beware the Workspaces of Team Foundation Server

I've been using Team Foundation Server since its first beta at quite a few clients and I like to think that I know a bit about it, but I learn something new every day.

Today I learned a little bit about workspaces.

For those of you new to, or unfamiliar with TFS, your work is done in the context of a workspace which maps local working folders to source control folders. This is a cool way to manage your source control mappings and allows you to do some pretty cool things such as cloaking folders (more on that in another post) and maintaining multiple working versions of the same project (helpful for sandboxing). It's similar to a working folder in Visual Source Safe, but with more features. Think of it as your working folder on steroids.

However, there are some little… idiosyncrasies that you need to be aware of.

By way of background, I am working on a project that requires Windows XP. I run Vista at work and home and since this is a short-tem project (which I actually hope to upgrade to Vista at some point) I didn't feel like setting my machine up to dual-boot. Another reason is that I have someone helping me on this project, and I didn't think he'd take kindly to me telling him "… oh, by the way, I need you to re-image your machine and set it up for dual-boot. I know you have deadlines and all, but you know, whenever you have a few minutes…" So, I created a Virtual PC for my development environment. My plan was to get the Virtual PC all set up with the appropriate third party software and drivers and get it configured so that it could just be copied to any developers working on it and we could start rolling.

This is where I found out that Team Foundation Server Workspaces are NOT strictly local creatures. This was discovered when, in an effort to get the VPC's setup for each developer, we managed to delete workspaces that not only were not associated with the project in question, were not in use on the VPC at all. We got them back, but it was a bit of a pain in the rear.

When you select "Manage Workspaces" from the "FileSource Control" menu in Visual Studio, you will see all workspaces listed that your account has access to, regardless of which physical computer they are listed on (see below). The killer is that you can actually delete and change a workspace from a remote location.

Keep this in mind when working with Team Foundation Server. And be careful out there!

No comments: