Die von Linus Torvalds ursprünglich zur Verwaltung des Kernels programmierte Software Git erfreut sich auch bei Windows-Nutzern großer Beliebtheit. Mit Git# gibt es nun sogar einen C#-Port.
Eine Umsetzung des Versionskontrollsystems Git in C# ist das Ziel des Projekts Git# (Gitsharp). Nun haben die Entwickler den ersten Code veröffentlicht, der sich allerdings noch im Alpha-Stadium befindet. Durch die Portierung auf Microsofts Dotnet-Framework möchte das Team um den österreichischen Entwickler Meinrad Recheis eine bessere Git-Implementierung für Windows schaffen. Mit dem derzeit funktionsreichsten Windows-Git Msysgit ist Recheis unzufrieden, außerdem lasse es sich schlecht in andere Software wie beispielsweise Entwicklungsumgebungen integrieren. Die Dotnet-Umsetzung soll hier neue Perspektiven eröffnen, denn Git bietet sich auch als Objekt-Datenbank oder verteiltes Dateisystem an.
Nach Aussage des Projekts hat auch die Mono-Community bereits Interesse gezeigt. Mit Hilfe von Novells Dotnet-Implementierung ließe sich Git# plattformübergreifend in heterogenen Umgebungen einsetzen.
Das Kernstück von Git# stellt die Bibliothek GitSharp.dll dar. Sie entsteht durch Portierung der Java-Bibliothek JGit nach C#, wobei die die Gitsharp-Entwickler sehr nahe am Java-Code bleiben, um rasch eine funktionsfähige Bibliothek zu erhalten. Derzeit ist die Gitsharp-Bibliothek zu 95 Prozent portiert, die Testsuite der Entwickler liefert noch rund 1 Prozent Fehlermeldungen. Genauso wie JGit steht Git# unter BSD-Lizenz.
Daneben schreibt das Gitsharp-Team an dem Programm Git.exe, das dem Anwender eine Kommandozeilenschnittstelle zur Verfügung stellt. In Version 0.1.0 funktionieren bereits die Init- und Clone-Kommandos (letzteres allerdings nicht über SSH).
Das Release 0.1.2 sowie weitere Informationen finden sich auf der Gitsharp-Homepage. Laut Meinrad Recheis soll es noch 2009 eine Beta-Version mit einer anwenderzentrierten API geben, eine stabile Version ist für das Frühjahr 2010 geplant. Das Projekt sucht noch Mitstreiter.







Dieses Projekt strotz IMO irgendwie nur so voller “Dummheiten”. – Wenn es bereits eine Java-Library gab, warum wurde die umständlich 1:1 kopiert? Es gibt doch IKVM.NET? – Warum ist Windows gleichbedeutend mit .NET? Der absolute Großteil aller Windows-Software wird doch immer noch in C/C++ entwickelt, und da Windows sowieso nur auf eineinhalb Architekturen läuft (x86 und x86_64) seh Ich keinen Grund warum nicht einfach die libgit2 als DLL compilert wurde. Schneller wirds durch .NET sicher nicht. – Integration in Entwicklungsumgebungen: Was genau wird durch den Einsatz von .NET da einfacher? Nichts? Was ist mit all den Umgebungen die nicht von… Mehr »