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.

(Bild: erstellt mit Dall-E durch iX)
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).
(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.
Die Suche nach der Basis
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)