Team Foundation Server 2008 shows incorrect version control status in team explorer

*Moved to: http://fluentbytes.com/team-foundation-server-2008-shows-incorrect-version-control-status-in-team-explorer/

Like I promised I would share some additional information on some issues we ran into during the TAP program that currently are not fixed yet in the released version of TFS 2008.

One of the issues we ran into was the fact that one of our development teams got quite confused when the team explorer showed that sources where checked out by someone else while the version control explorer shows that the file is not checked out by anyone.

See below screenshot on what it looks like:

 

As you can see in the team explorer the glyph is shown that indicates the sources are checked out by someone else.

But if you take a look in the version control explorer it is showing that the files are not checked out at all…..

 

You might imagine that this is quite confusing.

We filed a bug for this issue and it appeared that it was caused by a change made in the server logic. the change causes the queries fired by the team explorer to yield other results then the version control explorer. After triage the problem could be solved by a change in the server, but the code churn caused by the fix would be to much before RTM and therefore the decision was made not to fix it in the RTM version but in the next service pack that will follow.

You can read the details in the bug submission found here.(http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=290979)

So what is causing the problem?

It appears this problem only happens when you have a shelve set that contains modified files that got checked out and when you created the shelve set this information is kept in the change set at the shelve.

So the solution is to remove the shelve set…..

How can you determine if a shelve set is causing this problem you can take the following steps:

In your workspace that is showing the problem, run the following TF.exe command:

TF.exe status /shelveset:* /user:* or open the shelveset explorer in the pending checkin window and set the user to be "*" indicating any user.

While not ideal, once you know this issue is present, you can just ignore the icons and continue your work, since it does not block you from doing any work.

Hope this helps,

Cheers,

Marcel

Follow my new blog on http://fluentbytes.com