Git 2.28 bringt neue Konfigurationsoption für das Erstellen von Repositories

Mit dem aktuellen Release lässt sich neben weiteren Neuerungen bei Bedarf die Berechnung einiger Diffs mithilfe gespeicherter Bloomfilter überspringen.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 28 Beiträge

(Bild: ESB Professional/Shutterstock.com)

Von

Das Versionskontrollsystem Git hat mit Version 2.28 ein Update erhalten. Das neue Release des Open-Source-Projekts bringt Änderungen für die Initialisierung neu angelegter Git-Repositories. Außerdem greift Version 2.28 die bereits in Git 2.27 begonnenen Änderungen am Dateiformat des commit-Graphen auf.

Git hat bisher für die Initialisierung eines von Grund auf neuen Repositories mit git init gearbeitet, indem es einen initialen ersten Zweig mit dem Namen master erstellt hat. Version 2.28 führt eine neue Konfigurationsoption ein (init.defaultBranch), um den fest-codierten Begriff zu ersetzen. git init orientiert sich stattdessen an dem Wert der neuen Option, wenn der erste Branch in einem Repository erstellt wird. init.defaultBranch wird standardmäßig auf master gesetzt, wenn der Wert nicht gesetzt wurde. Weiterführende Informationen zur Umbenennung finden sich in einem Beitrag auf GitHub.

Git 2.27 hatte Änderungen am commit-graph-Dateiformat vorgenommen, um Bloomfilter für geänderte Dateipfade speichern zu können. Ein Bloomfilter ist eine probabilistische Datenstruktur. Mittels des Filters lässt sich ermitteln, welche Daten bereits in einem Datenstrom enthalten sind und welche erstmals vorkommen. Der Commit-Graph speichert einen dieser Bloomfilter für Commits, die sich im Commit-Graphen befinden, und er füllt diesen Bloomfilter mit einer Liste von Pfaden, die zwischen diesem Commit und seinem ersten übergeordneten Filter geändert wurden. Wenn Entwickler einen Git-Befehl nutzen, der Diffs berechnet, dann erlaubt der Filter Git offenbar, deutlich weniger Diffs zu berechnen. Die Berechnung lässt sich für bestimmte Commits überspringen, denn die Bloomfilter angeben, dass sich die Daten definitiv nicht im untersuchten Pfad vorkommen.

Git 2.28 greift diese Neuerungen auf. In Git 2.27 und neuer kann das Versionskontrollsystem die Berechnung vieler dieser Diffs vollständig überspringen, indem es den Bloomfilter für den geänderten Pfad eines Commit C's aufruft und nach /pfad/to/file abfragt. Gibt diese Abfrage zurück, dass ein Wert im Datensatz nicht enthalten ist, erkennt Git, dass die Berechnung dieser Diffs nicht notwendig ist.

Nennenswert ist zudem, dass das aktuelle Release erste Schritte zur nichtrassistischen Sprache geht: Entwickler können für neue Repositories den Namen des ersten Zweigs sowie den Standardnamen dafür bestimmen. Ziel ist der Abschied vom Begriff "Master", der bisher dafür fest in der Software kodiert war. Version 2.28 hält weitere Neuerungen bereit. Interessierte finden nähere Informationen zum neuen Release über die Release Notes oder über den Blogbeitrag von GitHub.

(mdo)