Tag Archives: TFS

Removing Local Source Control Files with TFS

One of the things in TFS that has been of little value to me is the “Latest” column, found in the Source Control explorer.  The intent behind this feature is a good one:  Be able to easily tell if you have the most recent version of a source file, or if somebody has checked in a new version since you’ve last pulled down code.  But somewhere between idea and implementation, something got lost.

View of Files in TFS

View of Files in the TFS Source Control Explorer

There’s an annoying little side effect to this feature.  If the developer decides to make changes to files outside of TFS – for example, deleting local files that are no longer worked on – TFS will not recognize that the developer no longer has the latest version.  This becomes very irritating when trying to re-download the files using GET LATEST.  Because TFS thinks you already have the files on your local machine, it will, by default, skip downloading the files.

Fortunately, Martin Woodward posted a solution on his blog a while back on how to correctly clean up your local files while, at the same time, keeping TFS in sync.  I consider this to be a bit of a hack, because it seems very unintuitive.  However, I haven’t seen any new features in TFS 2010 to lead me to believe that a more intuitive approach is being added.  So, either Microsoft isn’t getting much feedback on this, or they consider Martin’s approach to be the preferred approach…

Meanwhile, I’ve since found myself doing this somewhat frequently after finishing projects, in order to keep my local directories from piling up with old files that I no longer need.

Visual Studio 2010 Beta 1 on Virtual PC

For those of you keeping track, Microsoft released the new Visual Studio 2010 beta 1 release last week.  I was a little disappointed – though not surprised – that, unlike with their September CTP,  Microsoft did not provide a Virtual PC image for the Beta 1 release.

Visual Studio logo

Like some of you out there, I prefer to show a little restraint when it comes to installing beta software on my personal machine.  I prefer not to hose my computer intentionally, nor incur the wrath of my better half by denying her access to her e-mail and internet.

Fortunately, the people at Channel 9 care about marital bliss, and have therefore posted a step-by-step video guide explaining how to set up your ownVirtual PC – at no cost! The video shows you how to install Visual Studio Team Suite 2010 beta 1, TFS 2010 beta 1, and SQL Server 2008 running on Windows Server 2008.  You don’t need an MSDN subscription to get this software, which means that some of it is going to be trial-based. But, it’s a great way to give the beta a test-run without risking detriment to your own PC.

My install was very straightforward, with the help of the video .  It took me about 3 hours from start to finish, mostly waiting for installation progress bars to fill up. Performance will vary based on your internet connection (when downloading the various software), and how much CPU and memory you are able to allocate to the Virtual PC. Oh, and the finished .VHD file will likely weigh in at a hefty 15 GB, so make sure to account for that ahead of time.

Have fun!

When to Check-In Source Code Changes

For the last couple of months, I’ve been leading an adoption effort at work to migrate developers away from our current version control system over to Microsoft’s Team Foundation Server.  During this time, I’ve been approached with a number of questions regarding best practices around source control usage, causing me to brush up on my own level of knowledge on the subject.

Recently, I was asked the following question:  When should I check in source code that I’m working on? At first, this seemed like a trivial question. But, since I didn’t have a good immediate response at the time, I figured it can’t be all that trivial.

So, upon further reflection – and consultation with several fellow developers – I’ve compiled the following list to be good situations in which committing changes to source control is a good idea.

You should check in files…

  • When the project is first created
  • When a new feature has been written (such as implementing a class, a method or a “slice” of functionality – from the GUI down through data access layer)
  • Before refactoring or re-designing a component (so that there is something to compare with, or roll back to)
  • When a bug has been fixed.

In what other situations would it make sense to check in files to source control?

Using Team Foundation Server for non-.NET Projects?

My company is beginning to evaluate the new Visual Studio Team Foundation Server (TFS) 2008 software, and one of our big questions right now is whether TFS is a suitable product for handling project management needs for non .NET projects. My company has a mix of in-house developed applications, and 3rd party vendor applications that have been brought in. Therefore, having a platform-agnostic process tool is something that would be very handy (besides Microsoft Project, that is…).

From what I’ve read so far, TFS and Visual Studio Team System (VSTS) are intended to integrate well for .NET development projects. But what about projects surrounding a non-.NET project (for example, a vendor product)? There are still “work items” that need to be tracked, reports to be created, etc.; but perhaps only a subset (if any) of this work may require some type of .NET development.

Besides Visual Studio, I’ve seen that Work Items can be tracked with either Team Web Access or the Team Exploror application. I haven’t had a chance to test these out yet, but I’m curious whether managing a non-.NET project using just these tools is very… well, natural.

Perhaps TFS is not meant to be used as a platform-agnostic process tool (that wouldn’t be too much of a stretch!). Perhaps there are other process tools out there that work well with both Visual Studio and other IT-related projects.

I guess I’ll need to do some more digging…

DevConnections – In Vegas, Baby!

(Ok, so to preface this post, I don’t just attend conferences. It’s just that my company was gracious enough to send me to two conferences almost back to back and there’s always something cool to talk about when attending conferences.)

Well, the first day of DevConnections 2007 is almost over… and, in my opinion, it’s been a little underwhelming. Sure, there’s been swag up the wazoo, and the news that I’d be getting a free copy of Visual Studio 2008 just for attending didn’t hurt one bit… but the sessions so far have just not had a lot of substance or spectacle.

I take that back. The sessions I’ve been to have not had much substance or spectacle. But I’ve been almost exclusively listening to stuff over Visual Studio Team System 2008, and it has been mostly a recycling of the same material through each of the sessions, passed on to different speakers. Somebody should have just copy-and-pasted the session abstract information from one of the four sessions so that I could have realized this earlier and better spent my time (and my company’s money) attending sessions on other topics. Instead, the speakers probably gave the abstracts to some sales and marketing guys who made them sound super-intriguing (and unique) only to rope you into the session to hear the speakers yell “Gotcha!”

I will say the keynote over Visual Studio 2008 by Scott Guthrie was pretty cool. While a majority of the slides were over the same material he covered at the HDC last month, he did have some other Microsoft Product Managers come out and give some pretty nice demos. I especially enjoyed the one showing how you could use a Visual Studio add-in to create a plug-in for World of WarCraft to determine whether or not taking on an opponent in the game would result in their death or your own… Even though I don’t play the game myself, I thought the demo itself was frickin’ sweet!

Well, the first day is over, and I’m headed out to enjoy some Las Vegas nightlife (nothing too crazy). Let’s hope that Day 2 has a little more to offer.