Microsoft on Wednesday announced the addition of Git support to its Visual Studio suite and Team Foundation app lifecycle management technologies.
Brian Harry, a Microsoft Technical Fellow working as the product unit manager for Team Foundation Server (TFS), said it was a "long time in the making." Microsoft started talking about adding this type of support at least a year ago.
Harry announced the Git support for Visual Studio and Team Foundation at Microsoft's Application Lifecycle Summit in Redmond, Wash., on Wednesday. Later, Harry followed up with a blog post that aims to help developers understand the big picture.
Unfamiliar with Git?
We share some of his comments below, but first, let's take a step back for those unfamiliar with Git. In the world of software development, Git refers to a free, open-source distributed revision control and source code management (SCM) system that is optimized for speed and efficiency.
It was originally developed by Linus Torvalds for Linux kernel development, and since then, has been adopted by many other projects. In addition to Microsoft, other companies and systems using Git include Google, Facebook, Twitter, LinkedIn, Netflix, Linux and Android.
Microsoft Acknowledges DVCS
"Centralized version control is going to be around for a long time," Harry said. "It's a model that still works for a very large number of customers and we're very happy with the solution we have."
"However, DVCS [distributed version control systems], starting with roots in the OSS [open-source software] community, has grown steadily in popularity."
Harry explained that some of the benefits of DVCS fit particularly well with the trends Microsoft sees in software development, including loosely coupled systems, distributed teams, component reuse, and incorporation of open-source software. Microsoft says one of its top UserVoice requests is to have DVCS workflows integrated with the full ALM process, referring to application lifecycle management.
Why Microsoft Chose Git
When Microsoft decided to take the DVCS plunge, Harry said, the company looked at many options: buy, build, or adopt OSS. Microsoft also explored Git, Mercurial, and other solutions. Harry said it did not take long to realize that Git was quickly taking over the DVCS space.
"We thought hard about building something. Git hasn't been as friendly for Windows developers as on other platforms," Harry said. "By building on Git, we can take all the time we might spend just 'catching up' and spend that effort on something where we can add more distinctive value. Choosing Git just made sense."
Still Pushing TFS
Does this mean Team Foundation Version Control (TFVC) is dead? Harry answered with a resounding "no." In fact, Microsoft still believes TFVC is the best centralized version control system available.
According to Harry, TFS 2012 has significant improvements, with local workspaces for better offline and lower overhead and a better merging experience. Microsoft has also been doing a lot of work in the Web experiences for version control over the past few months that affect both TFVC and Git projects.
"There is still a very important role for centralized version control to play and we plan to continue to carry it forward. Rather than dilute both into a single solution we're giving you the choice of which workflow is best for your circumstances," Harry said. "However, circumstances change and you are going to want to be able to move code from one workflow to the other, and we're going to help there."