Das System zur Verwaltung von Quelltexten Git 2.43 ist verfĂŒgbar

Nach drei Monaten Entwicklung wurde die Version 2.43 des verteilten Systems zur Verwaltung von Quelltexten Git veröffentlicht. Git zĂ€hlt zu den beliebtesten, zuverlĂ€ssigsten und leistungsstĂ€rksten Versionierungssystemen, die flexible Mittel fĂŒr nichtlineare Entwicklungen bieten, basierend auf Verzweigung und ZusammenfĂŒhrung von Branches. Um die IntegritĂ€t der Historie und die WiderstandsfĂ€higkeit gegen "Backdating" zu gewĂ€hrleisten, wird das gesamte vorherige Archiv in jeder Commit implizit gehasht; auch die digitale Signatur von Entwicklern fĂŒr bestimmte Tags und Commits ist möglich.

Im Vergleich zur vorherigen Version wurden in die neue Version 464 Änderungen aufgenommen, an denen 80 Entwickler beteiligt waren, von denen 17 zum ersten Mal an der Entwicklung teilnahmen. Die wichtigsten Neuerungen sind:

  • Dem Befehl „git repack“ wurden die Optionen „—filter“ und „—filter-to“ hinzugefĂŒgt, die eine Neuverpackung des Repositories unter BerĂŒcksichtigung eines bestimmten Objektfilters ermöglichen und gegebenenfalls Objekte, die den festgelegten Filter nicht erfĂŒllen, an einen separaten Ort verschieben. Diese Optionen können verwendet werden, um das Repository nach bestimmten Kriterien zu unterteilen (z.B. um unerwĂŒnschte oder zu große Objekte herauszulösen) und die ZugĂ€nglichkeit aller Teile durch teilweises Klonen zu erhalten. Zum Beispiel um Blobs mit einer GrĂ¶ĂŸe von weniger als 1 MB im Repository zu belassen und die restlichen großen Objekte in ein separates Repository auszulagern, kann Folgendes ausgefĂŒhrt werden: $ git init —bare ..\/backup.git $ git repack -ad —filter='blob:limit=1m' \ —filter-to=..\/backup.git\/objects\/pack\/pack

    Die Initialisierung eines Repositories durch teilweises Klonen ermöglicht die Arbeit mit einer unvollstÀndigen Kopie des Repositories und verarbeitet korrekt Zugriffe auf fehlende Objekte (fehlt ein Objekt, wird es bei Bedarf automatisch nachgeladen).

  • Die Möglichkeit wurde hinzugefĂŒgt, mit mehreren Pack-Dateien fĂŒr unerreichbare Objekte („cruft packs“) zu arbeiten, auf die im Repository keine Verweise existieren (weder Branches noch Tags). Mit der neuen Option „git repack —max-cruft-size“ kann die maximale GrĂ¶ĂŸe einer einzelnen Pack-Datei definiert werden, wodurch die Daten unerreichbarer Objekte in eine Serie von kleinen Pack-Dateien aufgeteilt werden. Die Verwendung mehrerer kleiner Pack-Dateien anstelle einer großen reduziert erheblich die Ein-/Ausgabeoperationen beim Repacken von Repositories mit vielen unerreichbaren Objekten, da fĂŒr jede Repack-Operation nicht alle Daten ĂŒberschrieben werden mĂŒssen.
  • Die Erkennung von Versuchen zum doppelte RĂŒckgĂ€ngig-Machen von Commits ĂŒber „git revert“ wurde hinzugefĂŒgt, wobei dieser Umstand bei der Erstellung der RĂŒckgĂ€ngig-Meldung berĂŒcksichtigt wird (bei erneutem „git revert“ wird anstelle von „Revert: Revert: fix bug“ „Reapply fix bug“ aufgezeichnet, und wenn die Änderung ein drittes Mal zurĂŒckgesetzt wird, wird „Revert Reapply fix bug“ aufgezeichnet). $ git revert —no-edit HEAD >/dev/null $ git revert —no-edit HEAD >/dev/null $ git log —oneline a300922 (HEAD -> main) Reapply „fix bug“ 0050730 Revert „fix bug“ b290810 fix bug
  • Die gleichzeitige Verwendung der Optionen „—rfc“ und „—subject-prefix“ wurde erlaubt. Um beispielsweise eine E-Mail mit dem PrĂ€fix „[RFC PATCH bpf-next]“ im Betreff zu erstellen, kann Folgendes angegeben werden: $ git format-patch —subject-prefix="PATCH bpf-next" —rfc
  • In dem Befehl „git log“ wurde die Verwendung von Platzhaltern „%(decorate)“ zur Anzeige der Namen der zugehörigen Branches bei der Formatbestimmung ĂŒber die Option „—format“ ermöglicht, zum Beispiel: $ git log —format=’%cr%(decorate) (%h) %s’ 3 days ago (HEAD -> master, origin/master, origin/HEAD) (e0939bec27) RelNotes: minor wording fixes in 2.43.0 release notes 7 days ago (tag: v2.43.0-rc1) (dadef801b3) Git 2.43-rc1 7 days ago (8ed4eb7538) Merge branch ‘tb/rev-list-unpacked-fix’
  • In „git for-each-ref“ und Ă€hnlichen Befehlen wurde die Möglichkeit hinzugefĂŒgt, .mailmap-Regeln auf die ĂŒber die Option „—format“ angegebenen Format-Spezifizierer wie „%(authorname)“ und „%(committeremail)“ anzuwenden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4