Vitaly's WebLog
Writing on software development and all related

TFS Get Latest Version on Check-Out in VS2008

December 18, 2007

Those of us who are using Team Foundation Server 2005 know that a file is not updated on your local workspace when you check it out. The idea under this behavior is good - developer should manually pick files to update. I'm lazy to write why, here is quote describing that.

As a developer, this is the preferred behavior because there is often a domino effect where getting the latest of one file requires getting other files that have dependent changes.  For example, suppose you check out 2 files to fix a bug only to find out half a day later that you need to modify a third file to fix the bug.  Since the time you checked out your first two files, someone else has checked in a change to the 3rd file that requires you to get 5 more files.  If checkout gets the latest files, you will also need to get the 5 additional files plus whatever new dependencies that have been added to those files.  

Despite all goodness of this feature, it was not met well by developers for the following reasons:

  • Most of us migrated to TFS from Visual Source Safe. And it has different behavior; the file is automatically updated when it is checked out.
  • If you practice Lock-Modify-Unlock model it becomes straightforward that local file should be updated locally. Because you will lose someone changes otherwise.
  • Warning message telling that newer version presents on server is too easy to miss. It is displayed on Output panel, but not everyone have it open. I think that such an important warning message must be displayed in a way it attracts user's attention for sure.
  • Habit to check-out a file by simply starting to edit so strong… It is hard to remember that you should always get latest version before editing a file. Also, Lock-Modify-Unlock is default model for TFS.

It was frustrating that there is no built-in way to force TFS to get latest version on checkout. 3rd party solutions appeared to help abandoned users like me. Here is one from SLR team (Thank you guys!).

Now VS 2008 and TFS 2008 are out and there is built-in ”Get Latest Version on Checkout” feature.

VS2008 TFS Options VS2008 TFS Source Controls Settings

NOTE: When writing this post I found that this option does not work when you have VS 2008 and TFS 2005. I think, a way too many people will be confused by this as TFS will be upgraded not as fast as VS.


Related posts

Comments

Add comment