Microsoft embraces Git for Team Foundation Server
January 30, 2013 —
(Page 2 of 2)
Related Search Term(s): Git, Microsoft, Team Foundation Server
Vicent Martí, who works at GitHub and maintains the libgit2 library, said of Microsoft’s efforts: “Microsoft has been embracing more and more open source lately, especially regarding developer tools. In this specific instance (version control), Microsoft has traditionally invested on centralized proprietary version control, but it's rather obvious to me that when it comes to distributed version control, Git has won the battle and there's no contest about it. Microsoft seems to believe that too, and I think it's a great thing that Redmond is currently willing to bet on a winning horse, even if it's open source.”
Martí went on to add that the work with Microsoft on libgit2 was critical to making Git “a native citizen in the Windows world.”
The work in the Git community continues Microsoft’s move down the open-source path. “In TFS, we offered an Eclipse/Java solution,” said Harry. “It’s been three years or so since we introduced that and really began our efforts to embrace the open-source community, doing Jenkins integration and all of that.
“This is to some degree kind of the next step on that path. At least within the Developer Division, it’s been one of the biggest and most high-profile efforts to really go out and engage with and contribute to an existing open-source project kind of as peers in a fully participatory way. There’s been some learning for us there as we’ve gone through that, but so far I think we’ve had a really good relationship with the other contributors on the project, and it’s been good for us, and I hope good for them.”
What is libgit2?
As Martí explained: “libgit2 is a rather ambitious open-source project we've had at GitHub for over two years now. The goal is to re-implement all Git functionality in the shape of a re-entrant C library in a natively cross-platform manner and with proper error handling. We currently use libgit2 in our desktop clients (GitHub for Windows and GitHub for Mac) and in our back-end architecture for GitHub.com and Gist.
“Microsoft joined the project pretty late on in its development, but their contributions have been critical to making libgit2 as complete and powerful as it is now, especially when it comes to Windows support. We've always had Windows on mind while developing the library (it's the only Git implementation that runs natively on top of the Windows API), but thanks to Microsoft's support, libgit2 —and hence Git—now feels like a true native citizen in the Windows world.
“There was a lot of additional work required to make libgit2 (a C library) [interoperable] with the .NET world, but this is a task we undertook long ago: libgit2sharp are the open-source .NET and Mono bindings for libgit2, carefully maintained by Emeric Fermas (a good friend, but not a GitHub employee). We were already using libgit2sharp to power GitHub for Windows, our Windows client written in C#, but Microsoft's help on brushing up the bindings has been very welcome.”