Git 2.27 besinnt sich zurück: Älteres Transportprotokoll ist wieder Standard

Da das zuletzt eingeführte Transportprotokoll offenbar nicht rund lief, wechselt die aktuelle Ausgabe des Versionsverwaltungssystems zum alten Standard zurück.

In Pocket speichern vorlesen Druckansicht 15 Kommentare lesen
Git 2.27 besinnt sich zurück: älteres Transport Protocol ist wieder Standard
Lesezeit: 3 Min.
Von
  • Silke Hahn
Inhaltsverzeichnis

Das Versionsverwaltungssystem Git ist in Version 2.27 erschienen und bringt einige größere Neuerungen mit Folgen auf die Abwärtskompatibilität sowie eine Rückkehr zum bisherigen Transportprotokoll, das erst in der Vorgängerversion 2.26 durch das Transport Protocol 2 als Standard ersetzt worden war.

Die neue Standardeinstellung ist laut Release Notes wieder das Vorgänger-Transportprotokoll, das bis Git 2.25 als Standard diente. Version 2 des Transportprotokolls hatte das Git-Team im Mai 2018 vorgestellt und in Version 2.18 eingeführt. Offenbar lief das neue Protokoll aber noch nicht rund, das Git-Team hat sich wohl daher für die Rückstufung entschieden.

Ab dieser Version von Git soll der Befehl git describe automatisch die Langversion des Codes ausgeben, wofür Entwickler bislang explizit --long angeben mussten. Wenn git describe C feststellt, dass ein signiertes oder kommentiertes Tag auf den Commit C verweist und dabei den Tag-Namen T im Objekt antrifft, soll der Befehl nun T als Antwort ausgeben. Das ist laut Release Notes sogar dann der Fall, wenn Entwickler den entsprechenden Tag umbenennen oder aus der ursprünglichen Position in der refs/tags/-Hierarchie verschieben: git describe C soll dann weiterhin T ausgeben.

Der Befehl git show T^0 hingegen funktioniert wohl nicht mehr wie gewohnt und führt womöglich ins Leere oder kann auch auf ein anderes Tag verweisen – je nachdem, was sich an der Position refs/tags/T befindet. Der Befehl git pull soll jetzt so lange eine Warnmeldung ausgeben, bis die Konfigurationsvariable pull.rebase definiert ist. Wen das nervt oder wer Rebase nicht einsetzen möchte, der müsste die Variable auf false stellen, um diesen Warnhinweis zu unterbinden.

Weitere Änderungen betreffen die Workflows und das User Interface (UI). Zum Beispiel hat git commit-graph write nun verschiedene Optionen in petto, um unterteilte Dateien darzustellen, und git rebase ruft wohl einige Hooks auf, die ursprünglich für checkout bestimmt waren – hierbei handelt es sich allerdings offenbar um einen Designfehler, der sich sekundär etablieren konnte (laut Release Notes exisitert hierzu eine Dokumentation). Zahlreiche weitere Änderungen fügen neue Funktionalitäten hinzu und beheben Fehler. Die Kommandozeilen-Vervollständigung soll mit der neuen Version Unterkommandos und Argumente für den git-Worktree beherrschen, und das Versionsverwaltungssystem bietet offenbar ein überarbeitetes Verfahren für kollidierende Bezeichnungen bei Umbenennungen.

Rund 70 Entwickler haben insgesamt 537 Commits zu der neuen Version der vor 15 Jahren von Linus Torvalds entworfenen Open-Source-Software beigetragen. Alle Änderungen lassen sich den Release Notes aus der Mailingliste entnehmen. Mehrere Repositorys bieten das Versionsverwaltungssystem zum Herunterladen an, so zum Beispiel Kernel GoogleSource und der Gitster-Bereich bei GitHub. (sih)