Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News TFS To Get Modify-Merge-Commit Style Version Control

TFS To Get Modify-Merge-Commit Style Version Control

This item in japanese

The next version of Team Foundation Server will include a feature called Local Workspaces, which will allow Subversion Style “Modify-Merge-Commit” Version Control. This will make it much easier for developers new to TFS get acquainted to the Version Control Model compared to the current model of “Server Workspaces”, and make working offline easier.

TFS currently uses Server Workspaces, where all local operations are tracked by the server. This model makes more efficient usage of network bandwidth but makes the it more difficult to understand for users new to TFS. Since developers cannot just edit files locally without TFS knowing about it, this also makes it difficult to work in offline mode and then sync back to TFS when online. Local Workspaces is a new feature to do away with these problems.

Starting with TFS 11, both options will be present in TFS, but Local Workspaces will be the default option. In this mode, TFS will treat the client as the “master” and will follow changes made locally. Also, the files will not be read-only, so they can be modified at will. Files can be added, modified, deleted locally with any tool (not just something that has TFS integration) and TFS will be able to detect these changes on the next commit.

There are also some new features that will improve offline experience when using Local Workspaces -

  • No need to do a checkout before modifying a file
  • Support to keep a copy of file locally available, enabling some operations like diff locally
  • Pending Changes window, which works locally and even when offline
  • tf add, tf delete and tf rename can be done offline and the changes can be synced up when TFS is connected

There’s still some way to go though before TFS becomes a proper Distributed Version Control System, though it looks to be on their radar. Quoting Brian Harry from his above blog post,

I’m certain that about this time, a bunch of people are asking “but, did you implement DVCS”. The answer is no, not yet. You still can’t checkin while you are offline. And you can’t do history or branch merges, etc. Certain operations do still require you to be online. You won’t get big long hangs – but rather nice error messages that tell you you need to be online. DVCS is definitely in our future and this is a step in that direction but there’s another step yet to take.

Team Foundation Server is an Application LifeCycle Management product from Microsoft offering source control, data collection, reporting, and project tracking for Software Development Projects. 

Rate this Article