Die Versionsverwaltung Git 2.43 ist jetzt verfĂŒgbar.

Nach drei Monaten Entwicklungszeit wurde die Version 2.43 des verteilten Systems zur Verwaltung von Quelltexten Git veröffentlicht. Git gehört zu den beliebtesten, zuverlĂ€ssigsten und leistungsstĂ€rksten Versionsverwaltungssystemen und bietet flexible, nichtlineare Entwicklungsmöglichkeiten, die auf Branching und Merging basieren. Um die IntegritĂ€t der Historie und die Resistenz gegen rĂŒckwirkende Änderungen sicherzustellen, wird eine implizite Hash-Berechnung der gesamten vorherigen Historie in jedem Commit verwendet; zudem ist die BestĂ€tigung durch digitale Signaturen von Entwicklern fĂŒr einzelne Tags und Commits möglich.

Im Vergleich zur vorherigen Version wurden 464 Änderungen in die neue Version ĂŒbernommen, die mit der Beteiligung von 80 Entwicklern umgesetzt wurden, von denen 17 zum ersten Mal an der Entwicklung mitgewirkt haben. Die wichtigsten Neuerungen sind:

  • Die Befehle „git repack“ wurden um die Optionen „—filter“ und „—filter-to“ erweitert, um das Repacken eines Repositories unter BerĂŒcksichtigung eines bestimmten Objektfilters zu ermöglichen und, falls erforderlich, Objekte, die diesem Filter nicht entsprechen, an einen anderen Ort zu verschieben. Diese Optionen können verwendet werden, um das Repository nach bestimmten Kriterien zu trennen (zum Beispiel um unerwĂŒnschte oder zu große Objekte auszulagern), wobei der Zugriff auf alle Teile durch partielles Klonen weiterhin möglich bleibt. Um beispielsweise 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 partielles Klonen ermöglicht die Arbeit mit einer unvollstÀndigen Kopie des Repositories und verarbeitet Anfragen an fehlende Objekte korrekt (bei Anfragen an fehlende Objekte werden diese bei Bedarf sofort geladen).

  • Die Möglichkeit, mit mehreren Pack-Dateien zu arbeiten, die Informationen ĂŒber nicht erreichbare Objekte („cruft packs“) enthalten, auf die im Repository keine Verweise (keine Verlinkungen von Branches oder Tags) existieren, wurde hinzugefĂŒgt. Mit der neuen Option „git repack —max-cruft-size“ kann die maximale GrĂ¶ĂŸe einer einzelnen Pack-Datei festgelegt werden, um die Basis der nicht erreichbaren Objekte in eine Reihe kleiner Pack-Dateien zu unterteilen. Die Verwendung mehrerer kleiner Pack-Dateien statt einer großen reduziert die Ein- und Ausgabeoperationen erheblich beim Repacken von Repositories mit einer großen Anzahl von nicht erreichbaren Objekten, da nicht alle Daten fĂŒr jede Repacking-Operation neu geschrieben werden mĂŒssen.
  • Die Erkennung von Doppel-Revert-Versuchen ĂŒber „git revert“ wurde hinzugefĂŒgt, und dieser Umstand wird bei der Erstellung der RĂŒckgĂ€ngig-Meldung berĂŒcksichtigt (bei einer wiederholten „git revert“-Operation wird statt „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“ ist erlaubt. Zum Beispiel kann fĂŒr die Erstellung einer E-Mail mit dem PrĂ€fix „[RFC PATCH bpf-next]“ in der Betreffzeile angegeben werden: $ git format-patch —subject-prefix=„PATCH bpf-next“ —rfc
  • Im Befehl „git log“ ist es erlaubt, den Platzhalter „%(decorate)“ anzugeben, um die Namen der verbundenen Branches im Format anzuzeigen, das mit der Option „—format“ definiert wird, zum Beispiel: $ git log —format=’%cr%(decorate) (%h) %s’ 3 Tage her (HEAD -> master, origin/master, origin/HEAD) (e0939bec27) RelNotes: kleinere FormulierungsĂ€nderungen in den Release-Notizen 2.43.0 7 Tage her (tag: v2.43.0-rc1) (dadef801b3) Git 2.43-rc1 7 Tage her (8ed4eb7538) Merge Branch ‚tb/rev-list-unpacked-fix‘
  • In „git for-each-ref“ und Ă€hnlichen Befehlen wurde die Möglichkeit hinzugefĂŒgt, Regeln aus der .mailmap auf die ĂŒber die Option „—format“ angegebenen Format-Spezifizierungen, wie „%(authorname)“ und „%(committeremail)“, anzuwenden.

Quelle: opennet.ru

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster