DEV466: VSTS: Enterprise-Class Source Control

The new source control mechanism/store in Visual Studio Team Systems is not based on Visual SourceSafe. It has a new set of features that are pretty cool:

  • Shelving, which is similar to creating a private branch, but in a better and formalized way.
  • Checking policies on a per-project basis. These are evaluated on the client. It is extensible through policy plug-ins. Think filtering of bad words, inclusion of code header, maximum length of code, et cetera
  • Diff tool extensibility, e.g. for a tool that can do binary file comparison.
  • Shared checkout, where a file can be checked out multiple times without it being locked. You get a chance to choose in an enhanced dialog.
  • Workspaces: allow you to define multiple checkout locations on your own file system
  • It integrates into Visual Studio 2003 (!).

There are some things missing:

  • Keyword expansion (maybe in a future release)
  • Pinning and sharing (use branching instead)
  • Shadow folders

When branching you are now allow to cherry-pick changes that are promoted from e.g. the Development branch into Test into Production.

The latest version of a file (now all are stored inside SQL Server) is stored as a complete file, with deltas on older versions calculated overnight by the deltafier.

Support for distributed environments. The client uses SOAP messages to issue commands against the server to get files, checkin and -out. The July CTP of Team Foundation Server will feature a Proxy, that sits on the remote site together with all remote clients. These clients will then be able to get files from the proxy instead of the real server on the other end of the line.

There will also be client support for VB6, VC++6, VS2003, but also products from third parties like SourceGear Allerton and Eclipse or Websphere integration.

Nice session, but definitely not a 400 level.

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s