Git 2.22 bringt neue Features und optimiert die Performance

Gespickt mit vielen kleineren Änderungen ist Git 2.22 erschienen. Diese betreffen das Benutzer-Interface, Workflows und Features, aber auch die Performance und das Entwickler-Erlebnis.

So erlaubt es “git checkout –no-overlay” Dateien aus dem Working Tree zu entfernen, die nicht im ausgecheckten Sub-Directory (“tree-ish”) existieren, wohl aber in der Pfaddefinition (“pathspec”). Die neuen Konfigurationsvariablen “{author,committer}.{name,email}” können “user.{name,email}” in bestimmten Fällen überschreiben.

Support für Sublime-Backend, neuer Hook

Um den aktuell genutzten lokalen Branch anzuzeigen, lässt sich neuerdings der Befehl “git branch –show-current” verwenden. Der Report für “git bisect” wurde modernisiert und ist nun für Menschen besser lesbar, während “git mergetool” nun auch Sublime Merge (“smerge”) als Backend unterstützt. Git ruft den neuen Hook “post-index-change” auf, wenn sich die gespeicherte Indexdatei verändert, was etwa bei virtualisierten Working Trees hilft.

Weiterhin läuft “git difftool” nun auch außerhalb eines Repositories und bricht “git checkout -m <other>” seine Arbeit ab, wenn es einen Unterschied zwischen HEAD und dem Index feststellt. Weil das Packen des Index im Klonprozess mitunter recht viel Zeit benötigt, haben die Entwickler dem Schritt eine Fortschrittsanzeige spendiert. Zugleich kommuniziert “git clone” dank des neuen Schalters “–server-option” über Version 2 des Protokolls. Mehrere Features verbessern die Code-Vervollständigung, auch am Tracing-Tool “trace2” haben die Entwickler gearbeitet

Performance und Entwicklung

Der in Git integrierte Diff-Mechanismus war recht angestaubt. Er wurde umgeschrieben und unterstützt nun, ebenso wie “git commit-tree”, das “parse-options”-API. “pack-redundant” und “git multi-pack-index verify” arbeiten nun schneller in Repositories, die viele Packfiles enthalten. Für Entwickler wurde das Test-Framework aktualisiert.

Neuerdings ist “git stash” in C implementiert, für “git rebase” gilt das schon länger. Hier wurde die C-Implementierung aktualisiert, damit “git rebase” dieselbe Datei nicht wieder und wieder überschreibt. “git diff” läuft nun in speziellen Szenarien, in denen es Informationen über Blobs sammelt, ebenfalls schneller. Nicht zuletzt beschleunigt “git clone” den Verbindungsprozess.

Das sind nur ein paar Highlights aus der Liste an Änderungen. Das komplette Werk zu den Neuerungen lässt sich über die Mailingliste nachlesen.

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben