The 'F' in TFS is for 'Friction'

I am currently at a client that uses TFS for source control. This is my second exposure to using TFS source control, and my first time doing it in a team environment. This is the first time, in a long time, that I can remember, where source control has been such a point of friction in terms of getting stuff done.

One of the first issues is that when "Getting Latest" it doesn't always seem to get the latest. I've encountered a few times where new files are added to a project, or a new project is added to a solution, and when I get latest, I don't get the added files. The first accusation is usually "It doesn't look like you checked in file xxx", but when you look in the source control browser, there they are, greyed out and marked as "not downloaded".  Well, why not? So from the source control browser, I click get latest, and if I'm lucky, down they come, and I can get back to work. Sometimes, they don't. Then you have to get a specific version, specify the latest version and make sure you overwrite. Then it usually comes down. I've tried asking the googles about this situation, but I haven't found anyone with the answer. When I get latest, I want the latest please.

The next issue I have is the Merge/Compare tools that are built in are pretty weak. The googles let me know that I can replace these tools with my preferred third party tools. So I now have WinMerge in place to do this job for me. I don't think I've ever had to do as many manual merges with Subversion as I have had to do with TFS. I think every checkin has required 2+ manual merges.

As a note, instructions for changing the Compare and Merge tools can be found in a two blog posts. The quick version for WinMerge is this:

  1. Tools > Options > Source Control
  2. Expand Team Foundation Server
  3. Click Configure User Tools
  4. For Filetype *
  5. Add Compare Tool Pointing to WinMerge executable
  6. Use these arguments /x /e /ub /wl /dl %6 /dr %7 %1 %2
  7. For Filetype *
  8. Add Merge Tool pointing to WinMerge executable
  9. Use these arguments /x /e /ub /wl /dl %6 /dr %7 %1 %2 %4

If anyone knows why new files are not automatically downloaded when getting latest, I'd love to know. Please leave a comment.

   
Comments
I've regularly experienced the "not downloaded" issue with TFS too.

For similar pain try deleting a file off your local disk that is under TFS control. TFS does NOT replace the missing file when you do a get latest, because it still thinks you have the latest copy...

The whole concept to TFS maintaining a database of what it thinks you have on your local disk vs. actually inspecting your local disk seem fundamentally wrong to me.
I'd love to know the answer too. Sometimes the files aren't actually in the solution (but are in source control).

My experience with subversion matches yours. Next time I have a choice, I'm going with subversion+AnkhSVN in Visual Studio.
For similar pain try deleting a file off your local disk that is under TFS control. TFS does NOT replace the missing file when you do a get latest, because it still thinks you have the latest copy...
Add Your Comment
Your email address will never be displayed anywhere.
Name:
Email:
Website:
Comment:
Type the word 'banana':
Blog Home
Recent Posts
Clearing the ClickOnce App Cache
VB.NET Gotchas for C# Devs
Dreamhost 1 year Special
Can I Suggest Bit Torrent?
Moq and VB.Net are Frenemies
Google Buzz - Impressions
O Rly? Intellisense requires XML + DLL
Self Documenting Code - FAIL
The 'F' in TFS is for 'Friction'
NDC 2009 Videos
Skills Test - FAIL!