Suche
Versionsverwaltungssystem erhält umfangreiche Performance-Verbesserungen

Git 2.11 steht zur Verfügung

Stefanie Schäfers
git-900x450

© https://git-scm.com/

Pünktlich rund drei Monate nach der Veröffentlichung von Git 2.10 steht mit Version 2.11 das nächste Update für das Versionsverwaltungssystem zur Verfügung. Im Vordergrund stehen dabei neben umfangreichen Performance-Verbesserungen etwa auch Änderungen an den SHA1-Namen sowie zahlreiche Bug-Fixes.

Insgesamt bringt Git 2.11 Features und Bug-Fixes von über 70 Contributors mit sich. Jeff King hat im GitHub-Blog die Highlights der neuen Version des Versionsverwaltungssystems ausführlich vorgestellt.

Kürzere SHA-1-Namen in Git 2.11

Git Object Identifier bestehen aus langen Strings von Hex-Digits, die aus dem Output der SHA-1-Hash-Funktion generiert werden – also immer 160 Bits oder 40 Hexadezimalzeichen umfassen. Dementsprechend ist die Chance, dass zwei SHA1-Namen miteinander kollidieren, minimal. Da solch lange Namen allerdings meist lästig im Umgang sind, kürzt Git die Identifiers normalerweise ab, sodass nur die gekürzte Version an die Git-Befehle übergeben wird. Um trotzdem Überschneidungen auszuschließen, checkt Git automatisch die gekürzten Objektnamen.

So weit, so gut.

Da die Repositories aber immer umfangreicher werden und mehr Objekte umfassen, werden Kollisionen bei den gekürzten Namen immer wahrscheinlicher. Darum bringt Git 2.11 beim Umgang mit SHA-1-Namen einige Verbesserungen mit sich. Zum einen skaliert sich die minimale Abkürzungslänge nun anhand der Anzahl der Objekte im Repository: je mehr Objekte vorhanden sind, desto länger werden die Abkürzungen der SHA-1-Identifier. Zum anderen stellt das Versionsverwaltungssystem bei Überschneidungen künftig eine Liste aller in Frage kommenden Objekte inklusive deren Details zur Verfügung, anhand der in der Regel das fragliche Objekt bestimmt werden kann.

Performance-Verbesserungen

Auch in puncto Performance hat sich bei Git 2.11 einiges getan. So kommt die neue Git-Version mit schnellerem Zugriff auf Delta Chains in der Objektdatenbank, was insbesondere die Performance oft durchgeführter Vorgänge beschleunigen soll. Dafür wurde der Delta Base Cache komplett überarbeitet. Ebenso wurde die in Git 2.10 implementierte Data Structure, die Pakete in einer „most recently used“-Reihenfolge speichert, weiter verbessert. Außerdem wurde die Berechnung von Patch IDs beschleunigt.

Zudem gab es auch einige Neuerungen am Filter-Mechanismus, der bei der Konvertierung von Dateiinhalten von und zu einem lokalen Dateisystem zum Einsatz kommt. So wurde ein zweites Protokoll implementiert, das mehrere Dateien mit nur einem Prozess filtern kann. Damit soll die Checkout-Zeit von vielen Git LFS-Objekten deutlich verbessert werden.

Darüber hinaus wurden noch eine Reihe weitere Verbesserungen und Bug-Fixes vorgenommen; alle Änderungen lassen sich wie immer im Changelog nachlesen. Git 2.11 steht auf der Produktwebsite zum Download zur Verfügung.

Geschrieben von
Stefanie Schäfers
Stefanie Schäfers
Stefanie Schäfers studierte zunächst Anglistik in Marburg und machte anschließend ihren Masterabschluss im Bereich Creative and Cultural Industries an der Glasgow Caledonian University in Glasgow, Schottland. Seit August 2014 ist sie als Redakteurin in der Redaktion des PHP Magazins bei Software & Support Media tätig. Zuvor absolvierte sie bereits mehrere Praktika in Online-Redaktionen und Verlagen.
Kommentare

Hinterlasse eine Antwort

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