views:

307

answers:

6

I have a project stored in TFS Source Control (2008) that is being worked on by 2 developers. All 3 versions (Developer1, Developer2 and Server) are up to date with each other. However, both Developers report that some files in Solution Explorer say 'Checked out by someone else or in another place' - but the same files viewed in Source Control Explorer say they are available. It seems as though the workspaces have gotten confused but the actual files are 'good'.

Can anyone help?

A: 

A bigger question. Why do you care if someone else has a file checked out? TFS supports multiple parallel checkouts on files. If you want exclusive control then use a lock.

Sorry to be clearer - I often find that the state in Solution explorer is not worth looking at. If I need a file I check it out. If someone's locked it then I have get told by TFS at that time, otherwise I just work with the file.

Preet Sangha
I agree that it does stop our work in any way. It just sows that seed of doubt that all might not be well and that a bigger problem will surface later (e.g. lost code).
Chris Arnold
A: 

Do you have SP1 installed? This fixed it for our team. If not, check if any of your devs have separate workspaces and may have checked out files to it

Simon Wilson
All devs do, indeed, have SP1 installed.
Chris Arnold
Ah, now I remember what it was (after leaning over my cubicle to ask my coworker if he recalled what fixed that issue I was moaning about). I had a shelveset hanging around. Check if you have the same and either unshelve it or delete it if not needed
Simon Wilson
+1  A: 

Go to File->Source Control->Workspaces in Visual Studio. Make sure that the devs you have only have 1 workspace. It's likely that someone has created multiple workspaces on his machine and have files checked out there.

TFS maps workspaces to locations on the machine they are created on so if someone pulled down code to multiple places and edited it, you can have one person with code checked out in multiple places.

Also, this link shows you how to see all the files checked out for a particular person.

But I also agree with Preet. It's perfectly OK to have the file checked out by more than one person in TFS. That's one of the minor improvements over SourceSafe.

Brett Bim
minor improvement! I'd say it was one one the best!
Preet Sangha
Yeah, I was being a little tongue in cheek there. :-)
Brett Bim
+1  A: 

I've had these lists get out of sync before. What was required was a "Force Get Latest" to refresh the statuses. To do that, you select "Get a specific version", and then select "Latest" and "Get file even if they already exist locally" (or some option like that). This will force the files to refresh, even if they're already up to date, and should also correct their status.

You would think VS/TFS would be smart enough to reconcile this on their own, but sometimes they just don't, for whatever reason.

rwmnau
Yep, tried that already. No difference I'm afraid.
Chris Arnold
A: 

We had this problem when we upgraded from TFS 2005 to TFS 2008. There were problems with the upgrade that forced us to create a new virtual machine and restore/upgrade the 2005 database. We were under workgroup authentication and re-created local user accounts but since they all had new SIDs they were considered different accounts in some respects. All of the original users' workspaces hung around.

Take a look at the commandline tf and tfpt tools for manipulating workspaces, see if you have something orphaned. Attrice Team Foundation Sidekicks has a nice GUI workspaces manager too.

Aidan Ryan
A: 

If I check out the file and then do a "Undo pending changes" it goes back to normal. I think it's this bug, and it doesn't seem to be fixed in any patches or a future version yet.

http://social.msdn.microsoft.com/Forums/en-SG/tfsversioncontrol/thread/2a1c6a8c-0a2b-460c-9335-e31598f1107b

Greg