Everything you want to know about Visual Studio ALM and Farming
Brian Harry is a Microsoft Technical Fellow working as the Product Unit Manager for Team Foundation Server. Learn more about Brian.
More videos »
Today, I saw a nice report from one of our MVPs about their experience updating their production TFS server to the TFS 2010 RC: http://blog.hinshelwood.com/archive/2010/02/10/upgrading-from-tfs-2010-beta-2-to-tfs-2010-rc.aspx
I wanted to share it for a couple of reasons.
First, it's nice to see that they've been successful and he documents his process and give some advice.
Second, he make a comment about Hyper-V snapshots I wanted to talk about. A few months ago, it came to my attention that Microsoft won't support many scenarios where you've restored a system (particularly a server) to a saved snapshot. The context in which it crossed my consciousness was that SQL Server is not supported (and therefore TFS). At first blush I was shocked and immediately started to look into it.
What I discovered is that the real issue is taking a snapshot of a running system - not of a shutdown system. When a snapshot is taken of a running system, it is taken exactly as is: network connections open, interrupt requests in progress, everything. Of course, restoring a snapshot doesn't restore anything outside the context of the current machine (other servers you are connected to like attached databases, mirrors, web services, etc). It also can't restore the hardware back to its precise state.
As such when a snapshot is restored, it's a bit like getting abruptly awakened from a deep sleep. The system has to try to make sense of how it's internal state relates to the external state. The OS has been hardened to handle this pretty well but many, dare I say most, applications do not. And quite honestly, I'm not sure they every will because for many applications it is impractical or impossible.
So my VERY STRONG advice to you is shut down your Hyper-V server before you take a snapshot if you hope to ever restore it. It might work 500 times for you and then on the 501st time boom - your snapshot of a running system won't restore to a consistent state and you are hosed.
Brian
Speaking of upgrades, is it possible to upgrade from (feel free to laugh) SourceSafe 6.0d to TFS2010 and maintain history? It seems like I'll first need to purchase a VSS2008 license and upgrade to that, then to TFS2010. is that correct? Seems a bit wasteful to buy a VSS2008 license to use for 10 minutes just to upgrade to TFS!
No need to laugh. Yes, absolutely we have a VSS -> TFS migration tool that will help you move from SourceSafe 6 to TFS 2010 and retain history. It's VSSConverter and it ships with TFS 2010.
Brian - I just wanted to pop over and say how much I absolutely love the upgrade story with 2010. I've have upgraded an installation from 2008 -> 2010 B2 -> 2010 RC and the upgrades have gone absolutely flawlessly. The 2008 -> 2010 B2 upgrade was actually also a hardware migration. Comparing that to just doing a straight 2008->2008 migration... words can barely describe how much easier it was.
Kudos to you and your team for making my life a lot easier!
dmeglio: Although I will say that most clients I work with I *highly* suggest just doing a trunk import (Get Latest from VSS, check into trunk of TFS, mark VSS as read-only) rather than use the converter. It's not that it doesn't work, but it just seems to be much better to keep VSS around for a little while in read-only, then archive an image of it if you ever needed to go back in history.
Brian: I tried it with the beta but it didn't seem to work for 6.0. Did I just do it wrong or was it not supported in the beta?
Hmm, let me double check my facts on the VSS 6.0 conversion. What error did you get?
Yes, I have confirmed that 6.0d should work. If you could give me some more detail on the issue, I might be able to get someone to help.
We really need branching by label in the UI. This was going to be a significant work around for us for the other issues TFS has. We may no longer be able to continuing using TFS at our very large firm without this feature. Please allow branching by label in the UI.
Thanks
Yes, the omission of the branching by label option is something we plan to correct in the next service pack release. While I definitely understand that the command line is not a substitution for the UI, it can be used as a temporary workaround until we can add full support for branching by labels with the new first class branches.
FWIW, I've also written a blog post on the topic and have links to the related MSDN topics on command line branching: http://blogs.msdn.com/mitrik/archive/2010/02/18/branching-by-label-in-tfs-2010.aspx