What are Local Workspaces in TFS?

Posted: (EET/GMT+2)

 

When using Team Foundation Server (TFS) for version control, you may have seen two workspace types: Server and Local. Understanding the difference can save you a lot of confusion when working offline or handling merges.

Originally, TFS used only Server workspaces. TFS stored file state information on the server, meaning that every operation like check-out, rename, or move required communication with TFS. This worked well on fast networks, but not so well for laptops over slow WiFi or remote connections with VPNs.

Local workspaces, introduced in TFS 2012, change that model. They track file changes directly on the client machine, similar to how Git works. This allows offline edits and automatic detection of adds, deletes, and renames.

With Local workspaces, you don't need to explicitly check out files. You can edit them freely, and TFS will synchronize changes when you check in. The workspace metadata is stored in the local "$tf" folder under your project.

You can convert an existing Server workspace to Local using Visual Studio: open Source Control Explorer, click "Advanced" next to your workspace name, and choose "Local" as the location type.

For most developers, Local workspaces are the better choice today. They're faster, support offline work, and feel more natural in modern development workflows, especially when working with Git side by side.