2. Februar wurde vorgestellt Veröffentlichung des verteilten versionierten Systems Git 2.53.
Git bietet eine hohe Performance und ermöglicht nicht-lineare Entwicklung auf Basis von Verzweigungen und ZusammenfĂŒhrungen. Um die IntegritĂ€t der Historie zu gewĂ€hrleisten und RĂŒckwĂ€rtsĂ€nderungen zu vermeiden, wird in jedem Commit ein implizites Hashing der gesamten vorherigen Historie verwendet, ebenso wie die digitale Signatur durch Entwickler fĂŒr bestimmte Tags und Commits. Git-Code wird unter der GPLv3-Lizenz bereitgestellt. steht unter der GPLv2+ Lizenz.
Im Vergleich zur vorherigen Version wurden in der neuen Version 466 Ănderungen umgesetzt, an denen 70 Entwickler beteiligt waren (21 davon haben erstmals an der Entwicklung von Git teilgenommen). Die wichtigsten Neuheiten:
- HinzugefĂŒgt Die Anwendung der geometrischen Repository-Packstrategie (git repack --geometric) auf teilweise geklonte externe Repositories, die im Promisor-Modus arbeiten (fehlende Objekte werden nach Bedarf heruntergeladen). Bei der Repackung mit der Option --geometric werden Packdateien mit der Erweiterung .promisor separat verarbeitet und gepackt. Die geometrische Strategie ermöglicht es, die Wartungszeit groĂer Monorepositories zu verkĂŒrzen, indem Objekte selektiv repackt und ressourcenintensive Operationen wie das Mischen aller Packdateien vermieden werden (die geometrische Progression der GröĂe der Packdateien wird beibehalten, wobei jede folgende Packdatei mindestens doppelt so groĂ wie die vorherige sein muss).
- Das Git-fast-import-Team hat die Option âsigned-commits=strip-if-invalid hinzugefĂŒgt, um digitale Signaturen aus importierten Objekten zu entfernen, die nach einer Teile-Neuschreibung der Repository-Historie ungĂŒltig geworden sind. Zuvor konnte man entweder alle Signaturen importieren oder löschen, ohne zwischen gĂŒltigen und ungĂŒltigen zu unterscheiden. Die Option strip-if-invalid ermöglicht die Implementierung von Tools, um gĂŒltige Signaturen zu bewahren und Objekte mit nicht mehr gĂŒltigen Signaturen neu zu signieren.
- Der Ausgabe der Git-Befehls repo structure wurde Informationen ĂŒber die GröĂe aller erreichbaren Objekte (reachable) im Repository mit einer AufschlĂŒsselung nach Typen hinzugefĂŒgt. Die Informationen werden jetzt in lesbarem Format mit MaĂeinheiten angezeigt und getrennt fĂŒr die tatsĂ€chliche und die auf der Festplatte belegte GröĂe dargestellt, was eine EinschĂ€tzung der gesamten GröĂe des Repositories auf der Festplatte ermöglicht:
$ git repo Struktur | Repository-Struktur | Wert | | âââââââ | âââ- | | * Referenzen | | | * Anzahl | 1,78 k | | * Branches | 5 | | * Tags | 1,03 k | | * Remotes | 749 | | * Andere | 0 | | | | | * Erreichbare Objekte | | | * Anzahl | 421,37 k | | * Commits | 88,03 k | | * BĂ€ume | 169,95 k | | * Blobs | 162,40 k | | * Tags | 994 | | * AufgeblĂ€hte GröĂe | 7,61 GiB | | * Commits | 60,95 MiB | | * BĂ€ume | 2,44 GiB | | * Blobs | 5,11 GiB | | * Tags | 731,73 KiB | | * Plattenspeicher | 301,50 MiB | | * Commits | 33,57 MiB | | * BĂ€ume | 77,92 MiB | | * Blobs | 189,44 MiB | | * Tags | 578,13 KiB |
- Das git maintenance-Kommando hat den Unterbefehl is-needed hinzugefĂŒgt, um Repository-Wartungsoperationen nur bei Bedarf durchzufĂŒhren.
- In der experimentellen git replay-Gruppe wird standardmĂ€Ăig eine Aktualisierung der Referenzen in der Transaktion implementiert, anstatt anzuzeigen, wohin die Referenzen ohne Aktualisierung zeigen sollten.
- Im git blame-Befehl wurde die Möglichkeit hinzugefĂŒgt, den Algorithmus zur Bewertung von Unterschieden mit der Option âdiff-algorithm= auszuwĂ€hlen.
- Im git repo info-Befehl wurde die Option âall hinzugefĂŒgt.
- Die UnterstĂŒtzung fĂŒr symbolische Links wurde von Git-for-Windows auf die Windows-Plattform ĂŒbertragen.
In der vorherigen Version wurde hinzugefĂŒgt Warnhinweis die standardmĂ€Ăige Einbeziehung von Komponenten-Builds in Rust in Git 2.53. Dennoch bietet die Git-Version 2.53 lediglich wurden hinzugefĂŒgt einige Verbesserungen der Rust-UnterstĂŒtzung (die Möglichkeit, ohne GNU sed zu bauen), wĂ€hrend der Build mit Rust unter Verwendung von Makefile deaktiviert bleibt standardmĂ€Ăig (es ist erforderlich, das Flag WITH_RUST zu setzen), und beim Einsatz von Meson wird es automatisch aktiviert bei Vorhandensein des compilers rustc ausgefĂŒhrt. In Git 3.0 wird das Rust-Toolset beabsichtigen zu den erforderlichen Build-AbhĂ€ngigkeiten gehören.
Quelle: linux.org.ru
