Git 2.53

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

ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen đŸ”„ ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster