December 2006 Archives

Installing TFS SP1


This morning I have been installing Team Foundation Server SP1 onto some test TFS instances.  A handy hint for you is that you need to apply KB919156 before installing SP1.  KB919156 is an important patch for TFS that allows it to be put into a state in which client requests are refused and the ability to take it out of this state afterwards.  Not only does it quiesce the Team Foundation Server application, but it also does the same to IIS and the SQL Server database on which TFS runs.  This is important to make sure that no client data is lost or data corrupted during the installation on service packs etc. Apparently, all Team Foundation Server updates that you install from now on will use this functionality.  The following links will take you to the relevant download sections that you need for TFS SP1.

After installing KB919156 you will have a file called TFSQuiesce.exe installed into your Team Foundation Server TFS Setup folder (mine is in C:\Program Files\Microsoft Visual Studio 2005 Team Foundation Server\TF Setup).

Jamie Cansdale (the brains behind the must-have Visual Studio Extension TestDriven.NET) has set up a charity auction in aid of the charity Wells for Zoë and its work in Malawi.  What's better is that he's convinced many of the other must-have .Net development tools folks to donate some licenses into the pot as well.  There is now nearly $45,000 worth of software up for grabs - yes you read me right, that is three zeros on the end of the 45.  Now I know the US exchange rate is not as good as it used to be, but still - you could end getting yourself software to the value of a decent car and know that you are giving some money to charity.  For me the highlights of the auction are:-

  • A TestDriven.NET Mug (along with an invite to a years MSDN Subscription worth over $10k)
  • A copy of the excellent source control tool, Vault.
  • A copy of the mouth-watering CodeRush with Refactor! Pro 

Wells for Zoë is an Irish registered Charity set up in 2005 dedicated to the provision of safe drinking water and water storage for irrigation in four remote rural areas of Malawi.  The charity's founders cover all administrative overheads. 100% of your donation will be used to help the people in Malawi.

What are you doing still reading this - go and bid now.  In case you don't feel like owning some of this awesome software you can also donate here.

One of the questions that came up from one of our users was "how do I delete the files from my local file system - and tell Team Foundation Server that I have done this".

The first thing you might try is to just delete them locally.  However, Team Foundation Server (TFS) uses your workspace to keep track of what files you have downloaded and what version you have of them.  The reason it does this is so that it can maintain your files without a costly (both in terms of network and CPU processing) sync step.  With TFS, when you say "Get latest", you only get the latest version of files that have changed since you last got them.  Nothing is downloaded that you don't need (thereby saving you network traffic).  A really neat thing about TFS is that if you delete a file on the server and check that delete in, then when somebody does a "Get Latest", the file is deleted on their local system as well - very nice.  Moves and renames also exhibit this behavior - really useful for keeping the local file system in sync with the servers. 

But, if you have deleted a file locally (using Windows Explorer for example) then do a "Get Latest" the file is not downloaded - because the server thinks you already have it.  You can easily download the file by going to "Get Specific Version..." and selecting the "Force get" option - which will download all files, regardless of if the server things you have them or not.

The question I was asked was how to tell the server you have removed the file from your system, without deleting it from the server.  In the end, it took me a while to figure out the answer (and the help of Buck Hodges)

The Get Specific Dialog with changeset 1 inside.

The answer is, if you do a "Get Specific Version..." on the files, and select Changeset 1, the files will be deleted locally and the server will know this.  The color of the file in the Source Control explorer will go from black to gray and will have the phrase "Not downloaded" in the latest column.

Changeset 1 is a special changeset on your Team Foundation Server instance.  It was created as part of the setup routine and only contains one thing - the root node ($/) in your source control tree.  If you do a get for changeset 1 on any actual files then they will not exist at that point in time on the system so will be deleted locally and the server will know this.

Anyway, I thought this worthy of a TFS Tip post.  Not only because it highlights how to do something that is non-obvious, but also because once you understand how it works, you will understand a large part of what you need to know about Team Foundation Server Source Control.

BBC Podcasts Broke

Update: 17.15  Fixed now, nothing to see here.  Move along.

As of the time of writing, all the BBC Podcasts have broke.  Attempting to access the link gives a 404 error (reported as "The URL xxx could not be found on the server" in iTunes)  This is a bit of a bummer for me as I am about to get in my car and drive down to Dublin ready for the big Vista launch event tomorrow with Neil Armstrong - yes that one.

The problem is that the URL's that everyone is currently using are in the format:-

After a bit of playing, I discovered that I can access the feed from the following location (with the rmhttp bit removed):-

However, all the links in the feed are broke, because they talk to the following URL's for file download:-

Again, if you *really* want the content then you can remove the rmhttp bit of the URL and download it manually, i.e. the above would become:-

I dare say that Auntie is working on a fix, however it looks like I'll have to listen to back issues on the way down - getting the content sync with iTunes via a manual download is just too much work (another reason for me to switch MP3 players away from the iPod/iTunes paring, a move that I am strongly considering)


Creative Commons License
This blog is licensed under a Creative Commons License.