2. Februar vorgestellt Veröffentlichung des verteilten Systems zur Verwaltung von Quelltexten Git 2.53.
Git zeichnet sich durch hohe LeistungsfĂ€higkeit aus und bietet Werkzeuge fĂŒr die nichtlineare Entwicklung, die auf Verzweigung und ZusammenfĂŒhrung von Branches basieren. Zur GewĂ€hrleistung der IntegritĂ€t der Historie und der WiderstandsfĂ€higkeit gegenĂŒber rĂŒckwirkenden Ănderungen wird die gesamte vorherige Historie in jedem Commit implizit gehasht, ebenso wie die digitale Signatur jedes Tags und der Commits durch die Entwickler. Git-Code wird verbreitet unter der GPLv2+-Lizenz.
Im Vergleich zur vorherigen Veröffentlichung wurden in die neue Version 466 Ănderungen aufgenommen, die mit UnterstĂŒtzung von 70 Entwicklern erstellt wurden (21 davon nahmen erstmals an der Entwicklung von Git teil). Hauptpunkte Neuheiten:
- HinzugefĂŒgt die Möglichkeit, die Strategie der geometrischen Paketierung von Repositories (git repack --geometric) auf teilweise geklonte externe Repositories anzuwenden, die im Promisor-Modus arbeiten (fehlende Objekte werden bei Bedarf nachgeladen). Bei der Neupackung mit den Optionen --geometric werden .promisor-Paketdateien separat verarbeitet und verpackt. Die geometrische Strategie erlaubt es, die Wartungszeit groĂer Monorepositories zu verkĂŒrzen, indem objektspezifisches Neupacken und unnötige ressourcenintensive Operationen wie das ZusammenfĂŒhren aller Paketdateien vermieden werden (die geometrische Progression der PaketgröĂen bleibt erhalten, bei der jede folgende Paketdatei mindestens doppelt so groĂ sein muss wie die vorherige).
- Das Team git fast-import hat die Option --signed-commits=strip-if-invalid hinzugefĂŒgt, um digitale Signaturen aus importierten Objekten zu entfernen, die nach einer Neuschreibung eines Teils der Repositoriumsgeschichte ungĂŒltig geworden sind. Zuvor konnte man entweder alle Signaturen importieren oder entfernen, ohne zwischen gĂŒltigen und ungĂŒltigen zu unterscheiden. Die Option strip-if-invalid ermöglicht es, Werkzeuge zur Erhaltung gĂŒltiger Signaturen und zur Neusignierung von Objekten mit ungĂŒltigen Signaturen zu implementieren.
- Der Befehl git repo structure gibt nun Informationen ĂŒber die GröĂe aller erreichbaren Objekte (reachable) im Repository aus, unterteilt nach ihren Typen. 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, sodass die GesamtdiskgröĂe des Repositories besser eingeschĂ€tzt werden kann:
$ git repo structure | Repository structure | Value | | âââââââ | âââ- | | * References | | | * Count | 1.78 k | | * Branches | 5 | | * Tags | 1.03 k | | * Remotes | 749 | | * Others | 0 | | | | | * Reachable objects | | | * Count | 421.37 k | | * Commits | 88.03 k | | * Trees | 169.95 k | | * Blobs | 162.40 k | | * Tags | 994 | | * Inflated size | 7.61 GiB | | * Commits | 60.95 MiB | | * Trees | 2.44 GiB | | * Blobs | 5.11 GiB | | * Tags | 731.73 KiB | | * Disk size | 301.50 MiB | | * Commits | 33.57 MiB | | * Trees | 77.92 MiB | | * Blobs | 189.44 MiB | | * Tags | 578.13 KiB |
- Das git maintenance-Team hat den Unterbefehl is-needed hinzugefĂŒgt, um Wartungsoperationen am Repository nur dann durchzufĂŒhren, wenn dies notwendig ist.
- Im experimentellen git replay-Team wird standardmĂ€Ăig die Aktualisierung von Referenzen in der Transaktion implementiert, anstatt anzuzeigen, wohin die Referenzen zeigen sollen, ohne sie zu aktualisieren.
- Im git blame-Team wurde die Möglichkeit zur Auswahl des Algorithmus zur Berechnung von Unterschieden mit der Option âdiff-algorithm= hinzugefĂŒgt.
- In das git repo info-Team wurde die Option âall hinzugefĂŒgt.
- In Git-for-Windows wurde die UnterstĂŒtzung fĂŒr symbolische Links auf der Windows-Plattform ĂŒbernommen.
Der vorherigen Version wurde hinzugefĂŒgt Warnung die standardmĂ€Ăige Einbeziehung von Rust-Komponenten im Git 2.53. TatsĂ€chlich gab es in Git 2.53 jedoch nur Methoden text(), arrayBuffer() und stream() hinzugefĂŒgt, um bestimmte Datentypen zu lesen; einige Verbesserungen der Rust-UnterstĂŒtzung (Bau ohne GNU sed), aber der Bau mit Rust bei Verwendung von Makefile bleibt ist standardmĂ€Ăig deaktiviert (erfordert das Setzen des Flags WITH_RUST), und bei Verwendung von Meson wird automatisch aktiviert bei Vorhandensein des rustc-Compilers eingeschlossen. In Git 3.0 wird Rust-Werkzeug haben die Absicht in die Liste der erforderlichen Build-AbhĂ€ngigkeiten aufgenommen.
Quelle: linux.org.ru
