Microsoft Delivers Git Support in Team Foundation Server
Brian Harry, a Microsoft technical fellow and product unit manager for TFS, announced the news at the ALM Summit Jan. 30 at Microsoft's Redmond, Wash., campus. He said Microsoft will include Git support in the next major release of TFS, although no date for that release has yet been announced.
Harry said Microsoft is building Git integration into its Visual Studio flagship development platform, where it will have all the support of Solution Explorer and the plug-in will work with Microsoft's hosted Git service as well as any other Git service.
Microsoft also is announcing the availability of a Community Technology Preview (CTP) of the Git plug-in for Visual Studio 2012. Meanwhile, developers will still be able to use the TFS version-control system, known as Team Foundation Version Control (TFVC), which Harry said he believes is the best centralized version-control system available. Both TFS support for Git repositories and the CTP of the plug-in are available as of Jan. 30.
The latest version of TFS shipped at the end of 2012 with support for agile planning, code review, a feedback tool and a story-boarding tool among other features.
"We knew we needed a DVCS solution and we looked at building our own or buying one and building it out," Harry said. "Then we looked at what was out there and it became clear that Git was winning out in the DVCS community."
In a blog post about Microsoft's TFS support for Git, Harry said this move has been a long time in the making.
Harry also described and defended Microsoft's decision to adopt an open-source technology for a crucial role, noting that there were a few who dissented. "There were others who were concerned about open source and lack of 'control' issues," he said. "But the more we looked at it, the more it looked like the right thing to do."
Harry added, "Git hasn't been as friendly for Windows developers as on other platforms. 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."
Microsoft has made overtures in the open-source application lifecycle management (ALM) space. Last summer, the company released a tool called Git-TF, which allows you to hook Git up to TFVC and exchange code and the team will be doing more to improve this area, he said.
"We recognize the incredible value the open-source software community has brought to Git," Harry said. "One of the particular things we'll focus on is bridging Git into the enterprise," he added.
The software giant also acquired Teamprise years ago to enhance integration between the .NET world and Eclipse. However, this move with Git is the deepest Harry's team has gone with open-source software.
"This is certainly the first time that my team has engaged so deeply in an existing OSS project," Harry said in his post. "Our Git implementation is based on LibGit2 and related projects. We started contributing to LibGit2 a few months ago and have been very active."
"Here at GitHub, we've always had great plans for libgit2: we wanted an open-source library without restrictive licensing that would allow us to power our back-end infrastructure and our desktop clients," said Vicent Marti, a developer at GitHub who helped develop libgit2. "With the current iteration of libgit2, we can finally call Git a native citizen in the Windows world. Microsoft's contributions to the project have been critical to making this happen."