JGit/EGit 1.1: Git wird immer interessanter für Java-Entwickler

Hartmut Schlosser

Die Projekte JGit und EGit liegen in den Versionen 1.1 vor. Die Git-Implementierung für Java JGit hat zusätzliche Porcelain-Anweisungen erhalten. Dabei handelt es sich um ein API, das auf einer höheren Abstraktionsebene angesiedelt ist als die Low-Level APIs und funktional äquivalent zu den Porcelain-Commands in native Git sein soll. Die neuen Befehle sind ReflogCommand, DiffCommand, ListTagCommand und DeleteTagCommand. Außerdem verfügt die JGit-Kommandozeile nun über die Blame-Anweisung, zudem sollen verschiedene Optimierungen zu besseren Performanzwerten führen.

EGit ist der Eclipse-Team-Provider auf Basis von JGit. Hier hat sich viel getan in der Version 1.1. Beispielsweise können User von einer neuen Reflog-View profitieren. Die Dialoge merge, fetch und push results wurden überarbeitet und bieten ein reichhaltigeres Informationsset.
Commits können von der History-View aus per Drag-n-Drop verschoben werden.

Die EGit- und JGit-Projekte haben spätestens mit dem Indigo-Release 1.0 einen Reifegrad erlangt, der Sie für produktive Einsätze interessant machen. Co-Projekt-Leiter Matthias Sohn im Gespräch mit dem Eclipse Magazin:

Wir sehen EGit als die beste Möglichkeit an, die mächtige Funktionalität von Git einer größeren Zahl von Entwicklern zur Verfügung zu stellen. Die Integration mit Onlinecommunitytools wie Gerrit, GitHub, Hudson/Jenkins und Eclipse Skalli (Projektportal) sowie Eclipse Mylyn (dort ist auch der Mylyn Gerrit Connector angesiedelt) hat das Potenzial, die Entwicklerproduktivität erheblich zu verbessern. Die damit möglichen Entwicklungsprozesse passen auch gut zu agilen Projektmanagementmethoden. Matthias Sohn

Durch diese schnelle Abfolge von Releases wird den Benutzern regelmäßig neue Funktionalität zur Verfügung gestellt. Die wichtigsten Use Cases werden mittlerweile unterstützt, sodass die Benutzer immer seltener auf die native Git-Implementierung zurückgreifen müssen. Matthias Sohn

Die Vorteile eines verteilten Versionierungssystems wie Git liegen laut Sohn in der größeren Unabhängigkeit und Flexibilität, da jeder Entwickler über eine Kopie des Repositories verfügt und alle Operationen außer Sharing lokal ausgeführt werden. Zudem erlauben intelligente Netzwerkalgorithmen den effizienten Austausch von Änderungen zwischen verschiedenen Entwicklern.

Git erlaubt es, stark nicht linear zu versionieren, was insbesondere durch die ausgefeilten Merge-Algorithmen auch in der Praxis sehr gut funktioniert. Damit sind ganz neue Entwicklungsprozesse möglich. Neue Onlinecommunitytools wie Gerrit Code Review, GitHub, BitBucket, Gitoruious fördern die Interaktion zwischen den Entwicklern, die am selben Projekt arbeiten. Matthias Sohn

Weiterführende Informationen zu den neuen EGit/JGit-Versionen können in den beiden New & Noteworthy Dokumenten im Detail nachgelesen werden. Eine gute Einführung in EGit gibt es übrigens auf JAXenter zu lesen: ´EGit/JGit und MercurialEclipse: DVCS in Eclipse Indigo von Ekke Gentz. Und wer sich ausgiebig mit Git vertraut machen möchte, dem sei Michael Johanns Leitartikel „Die Git-Revolution“ empfohlen.

Geschrieben von
Hartmut Schlosser
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.