Microsoft’s developer tools are adding support for decentralized source code version control using Git. Both Visual Studio and Team Foundation Server are to support Git.
The announcement about the new tools was made at Microsoft’s Application Lifecycle Management (ALM) Summit, and Microsoft Technical Fellow Brian Harry explained the changes in a blog post. According to which Team Foundation Server will host Git repositories, and Team Foundation Service has support for hosting Git repositories starting today. In addition, Visual Studio will have Git support – and Microsoft has released a Community Technical Preview (CTP) of a VSIX plugin for the Visual Studio 2012 Update 2 CTP.
The client will work with any Git repository, including Codeplex, GitHub and BitBucket, and TFS will work with “pretty much any Git client”, including existing Git command lines, XCode, and Eclipse’s Git support.
The intention is that the clients will have deep integration with Microsoft’s ALM tools, with support for features such as work item association, change tracking, build automation, code review and testing. The blog post says that Microsoft is doing work on auditing, access control, high availability, and online backup.
While pointing out that centralized version control is going to be around for a long time, Harry acknowledged in the blog that DVCS [decentralized version control systems has grown steadily in popularity. He said “some of its benefits fit well with the trends we see in software development: loosely coupled systems, distributed teams, lots of component reuse, incorporation of OSS, etc. Our customers need DVCS workflows integrated with their full ALM process – in fact, it’s one of our top UserVoice requests.”
Harry said that while the announcement might seem abrupt, it’s been a long time in the making: “We started talking about having DVCS support for TFS a year or more ago.” The addition of Git support apparently received a mixed reception from the developer tools team, with many people wanting either to “build a better DVCS system” or integrate DVCS workflows into the existing implementation. However, he said that “it didn’t take long to realize that Git was quickly taking over the DVCS space and, in fact, is virtually synonymous with DVCS.”
You can see a walk though in this video:
The blog post is very definite that this doesn’t mean that Team Foundation Version Control (TFVC) is dead, and that the developer team still believes that TFVC is the best centralized version control system available.
Last summer Microsoft released a tool called Git-TF which allows you to hook Git up to TFVC and exchange code and the blog post says the team will be doing more to improve this area.
It seems only a short time ago that the idea of open source anything within a Microsoft product would have seems impossible. Now Microsoft seems to be adopting open source at an ever increasing rate. In the case of Git for example it is difficult to know if the adoption is more because Git is a defacto standard that can no longer be ignored or because Microsoft finally sees the advantages in using "free" code. Why build a version control system of your own when there is one waiting to be integrated.
Microsoft plans to release updates to the CTP about every 3 weeks, but there were no details of when an RTM version will be available.