Recently I needed to allow another user to use one of my TFS workspaces. This user needed to be able to check-out a file, change it and check it in again. This turned out to be quite harder than, in my opinion, it ever should. First, what Microsoft says

Public workspaces

According to Microsoft, in TFS 2010 you can now share workspaces. When editing or creating a workspace, you should see a combo

which you can use to change this setting. The set permissions are

  • Private workspace - only the owner can use the workspace
  • Public workspace (limited) - all other valid team members have the Read and Use permissions
  • Public workspace - all other valid team members have all the Read, Use, CheckIn and Administer permissions
You cannot finetune the permissions either via the GUI or the tf command. It's however possible to change them using the TFS API.

Seemed like setting the workspace as non-limited public should work, but I faced another problem. The other user would be able to use the workspace and checkout the files, but it would not be able to check them back in again

TF14098: Access Denied: User DOMAIN\\OtherUser needs Checkin, CheckinOther permission(s) for $/somepath/somefile.txt.
This one was trickier to resolve because nobody in my company had ever used the CheckinOther permission for any project and such a permission did not appear in the project security tab. After a little bit of googling, though, I found out that these permissions actually reside inĀ  the folder security settings. So I added the other user to the Builders group, went to the folder which I needed the other user to be able to use, right-click, Security, selected the group and gave it the Check in other users' changes permission (this has to be done by an administrator account)

Click ok and you are good to go!