Veröffentlichung des Versionsverwaltungssystems Git 2.40

Nach drei Monaten Entwicklung wurde die Veröffentlichung des verteilten Versionsverwaltungssystems Git 2.40 veröffentlicht. Git ist eines der beliebtesten, zuverlässigsten und leistungsstärksten Versionsverwaltungssysteme, das flexible Werkzeuge für nichtlineare Entwicklungen bietet, die auf Branching und Merging basieren. Um die Integrität der Historie zu gewährleisten und resistent gegen 'rückwirkende' Änderungen zu sein, wird eine implizite Hashbildung der gesamten vorherigen Historie in jedem Commit verwendet, und es ist auch möglich, digitale Signaturen von Entwicklern für bestimmte Tags und Commits zu überprüfen.

Im Vergleich zur vorherigen Version wurden 472 Änderungen in die neue Version übernommen, die mit Beteiligung von 88 Entwicklern vorbereitet wurden, von denen 30 zum ersten Mal an der Entwicklung teilgenommen haben. Die Hauptneuheiten sind:

  • Das Skript git-jump hat die Unterstützung für den Editor Emacs hinzugefügt, neben dem zuvor unterstützten Editor Vim. Git-jump wird verwendet, um Informationen über Positionen in der Datei an den Texteditor zu übermitteln, um eine schnelle Navigation und einen Wechsel zur Codebearbeitung an bestimmten Stellen zu ermöglichen. Zum Beispiel kann git-jump verwendet werden, um im Editor zwischen Zeilen zu wechseln, die aus dem Parsing von Merge-Konflikten, der Bewertung von Unterschieden und der Durchführung von Suchen resultieren (man kann „git jump grep foo“ ausführen und dann schnell zwischen den Positionen wechseln, an denen die Maske „foo“ auftaucht).
  • In „git cat-file“ wurde die Unterstützung für die Optionen „-s“ und „—batch-check“ zusammen mit „—use-mailmap“ hinzugefügt, um die Größe des Objekts unter Berücksichtigung des aufgrund von E-Mail-Bindungen, die in der mailmap-Datei angegeben sind, durchgeführten Identitätsersatzes korrekt zu bestimmen (früher beeinflusste die Option „—use-mailmap“ nur die Ausgabe des Inhalts, berücksichtigte jedoch nicht, dass alte und ersetzte Name/E-Mail-Paare unterschiedliche Größen haben können).
  • In den Befehl „git check-attr“ wurde die Option „—source“ hinzugefügt, um den Baum mit der erforderlichen Datei „.gitattributes“ auszuwählen, die zur Bestimmung der aktuellen Attribute verwendet wird, falls im Repository mehrere „.gitattributes“-Dateien vorhanden sind.
  • Die Implementierung des Befehls „git bisect“ wurde in C neu geschrieben und in die Hauptausführungsdatei von git integriert (früher war der Befehl in Form eines Shell-Skripts implementiert).
  • Die alte Implementierung des Befehls „git add —interactive“, die in Shell geschrieben wurde, wurde entfernt (in git 2.26 wurde eine eingebaute Variante in C vorgeschlagen, aber die alte Implementierung in Shell blieb verfügbar und konnte über die Einstellung add.interactive.useBuiltin geregelt werden).
  • Dem Befehl „git merge-tree“ wurde die Option „—merge-base“ hinzugefügt.
  • Dem Befehl „git range-diff“ wurde die Option „—abbrev=“ hinzugefügt.
  • Die Möglichkeit, den Listeneditor für den interaktiven Modus des Befehls rebase durch Setzen der Variablen GIT_SEQUENCE_EDITOR über den Befehl „git var“ ähnlich wie bei „git var GIT_EDITOR“ zu überschreiben, wurde hinzugefügt.
  • Das Authentifizierungssystem hat die Unterstützung für zeitlich begrenzte Passwörter hinzugefügt.
  • In den Bash-Autovervollständigungs-Skripten wurde ein Modus ohne Berücksichtigung der Groß- und Kleinschreibung implementiert.

Quelle: opennet.ru

60GB SSD 8Gb DDR4