Git 2.47 bringt Incremental-Multi-Pack-Indizes und eine Basis-Branch-Suche

Insbesondere größere und komplexere Projekte profitieren von den Neuerungen in Git 2.47 wie dem verbesserten Suchindex in mehreren Packfiles.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Aufmacher Git

(Bild: erstellt mit Dall-E durch iX)

Lesezeit: 2 Min.

Die Versionsverwaltung Git 2.47 bietet eine Reihe an Neuerungen, die insbesondere größere und komplexere Projekte betreffen, wie inkrementelle Multi-Pack-Indizes, eine Suchmöglichkeit nach dem Basis-Branch eines Commits und eine automatische Merge-Konfiguration für VS Code. Eine neue Plattform Support Policy regelt ferner den Umgang mit neuen "exotischen" Plattformen.

Der neue Incremental Mulit-Pack Index vereinfacht die Suche in größeren Git-Strukturen, die ihr Projekt in mehrere Pakete (packfiles) aufgeteilt haben. Schon seit Git 2.21 gibt es einen einfachen Index für die Suche (Mulit-Pack Index, MIDX), der den Inhalt der Pakete abbildet. Dessen Aktualisierung gestaltet sich jedoch mit zunehmender Paketzahl immer aufwendiger, da das Update alle Inhalte komplett prüfen muss. Das neue inkrementelle Verfahren arbeitet mit mehreren geschichteten Index-Ebenen, die jeweils nur die Unterschiede zur vorherigen Ebene speichern (siehe Abbildung).

Der neuer inkrementeller Index ĂĽber mehrere Packfiles vereinfacht die Suche in Paketen.

(Bild: GitHub)

Die Funktion ist noch experimentell. Interessierte fĂĽgen neue Pakte mit dem Befehl $ git multi-pack-index write --incremental zu einem bestehenden Index hinzu.

Den Start-Branch für einen Commit war für Entwicklerinnen und Entwickler in komplexeren Git-Strukturen bisher nicht so leicht zu finden, was die neue Git-Version nun vereinfacht. Der Befehl for-each-ref --format mit dem Platzhalter %(is-base:) löst dieses Problem.

Verbesserungen gibt es auch für Anwender von VS Code, die dessen 3-Wege-Merge-Funktion nutzen wollen. Bisher war dafür eine manuelle Konfiguration erforderlich, die sich nun mit dem Befehl $ git config set merge.tool vscode automatisiert durchführen lässt.

Hinzu kommen viele kleine Änderungen, beispielsweise neue Funktionen für die in Version 2.45 eingeführten reftables, etwa die Konfiguration $ git config set --global init.defaultRefFormat reftable, die reftable als Standard setzt. Anwenden lässt sich auch das --exclude-Argument für den for-each-ref-Befehl. Von reftables profitieren große Repositories mit vielen Referenzen.

Wer der Sicherheit von SHA-1 nicht mehr traut, kann nun SHA-256 als Standard fĂĽr die Quersumme von Objekten festlegen: $ git config set --global init.defaultObjectFormat sha256.

Die neue Plattform Support Policy regelt den Umgang mit neuen "exotischen" Plattformen, die sich in das Git-Projekt einbinden wollen. Weitere Informationen zur neuen Version finden sich in den AnkĂĽndigungen von GitHub und GitLab.

(who)