Login
Newsletter
Werbung

Fr, 19. Januar 2018, 12:22

Software::Entwicklung

Git 2.16 freigegeben

Die Git-Entwickler haben die freie verteilte Versionsverwaltung Git in Version 2.16 veröffentlicht. In dieser Version wurden wiederum zahlreiche, wenn auch nur kleinere, Verbesserungen implementiert.

git-scm.com

Auch mehr als zwölf Jahre nach der ursprünglichen Konzeption durch Linus Torvalds wird das verteilte Versionsverwaltungssystem Git immer noch verbessert und erweitert. Nun hat Junio C. Hamano, der seit Juli 2005 die Entwicklung koordiniert, die Version 2.16.0 von Git angekündigt. In Git 2.16.0 finden sich zahlreiche Verbesserungen und kleinere neue Funktionen. Aber auch an Fehlerkorrekturen, Aufräumarbeiten am Code und Verbesserungen der Dokumentation wurde gedacht. 91 Entwickler, von denen 26 erstmals in Erscheinung traten, steuerten 509 einzelne Änderungen gegenüber Version 2.15.0 bei.

Die Liste der Neuerungen ist auch in Git 2.16 recht lang. Unter den Änderungen befindet sich eine, die eine Inkompatibilität darstellt: Die Verwendung eines leeren Strings als Pfad-Bezeichner, der früher in der Bedeutung »auf alle Dateien anwenden« verwendet werden konnte, ist jetzt ein Fehler. Seit einem Jahr erzeugt dieses Konstrukt bereits eine Warnung, so dass kein Anwender davon überrascht sein dürfte.

Ein Hook-Skript, das keine Ausführungsrechte hat, wird jetzt mit einem Warnhinweis quittiert. Der Hinweis lässt sich mit der Einstellung advice.ignoredHook abschalten. Die Pull-Operation kennt nun die Option --[no-]signoff, die an git merge weitergegeben wird, sofern ein Merge erforderlich ist. Anstelle von git stash save soll nun git stash push verwendet werden, ersteres gilt als veraltet.

Git verbietet es nun, einen neuen Zweig namens »HEAD« anzulegen, da dies nur zu Verwirrungen mit dem eingebauten HEAD-Zweig führen konnte. git diff kann jetzt außerdem die Zeilenende-Unterschiede von Dateien ignorieren, was manchmal erforderlich ist, um Dateien überhaupt sinnvoll vergleichen zu können. Abgekürzte Objekt-Hashes werden nirgends mehr mit nachfolgenden Punkten gekennzeichnet, weil dies zu Verwechslungen mit der Syntax von Bereichen (anfang..ende) führen konnte und generell eher verwirrend war.

Intern erhielt Git eine Infrastruktur, die einen Austausch der verwendeten Hash-Funktion ermöglicht. Dies scheint eine Vorbereitung auf die notwendige Ersetzung von SHA1, das inzwischen nicht mehr sicher vor Kollisionsangriffen ist, zu sein. Eine weitere Änderung diente zur Erprobung eines Mechanismus, um das von Git verwendete Protokoll zu ersetzen, dabei aber kompatibel mit älteren Versionen zu bleiben.

git bisect run meldet es jetzt als Fehler, wenn man kein auszuführendes Kommando angibt. git status und andere Operationen wurden beschleunigt, indem der aktuelle Status über Benachrichtigungen vom Dateisystem selbst fortlaufend aktualisiert wird. Zur Zeit wird nur Watchman, das von Facebook stammt, unterstützt. Diese Funktionalität dürfte von Microsoft beigetragen worden sein, wie einer aktuellen Verlautbarung von Microsoft zu entnehmen war. Microsoft-intern unterstützt das neue Plugin auch das nur unter Windows laufende GVFS.

Die weiteren Änderungen sowie Details zu den Änderungen kann man den Anmerkungen zur Veröffentlichung entnehmen, die auch der Ankündigung beigefügt sind. Das unter der GPL stehende Git ist im Quellcode auf github.com und als Binärpaket in mehr oder weniger aktuellen Versionen in vielen Distributionen verfügbar.

Werbung
Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung