Version des Versionsverwaltungssystems Git 2.32

Nach drei Monaten Entwicklung wurde die Version 2.32 des verteilten Quelltextverwaltungssystems Git veröffentlicht. Git zĂ€hlt zu den beliebtesten, zuverlĂ€ssigsten und leistungsfĂ€higsten Versionskontrollsystemen, die flexible Möglichkeiten fĂŒr nichtlineare Entwicklungen bieten, basierend auf Verzweigungen und ZusammenfĂŒhrungen. Um die IntegritĂ€t der Historie zu gewĂ€hrleisten und Änderungen "im Nachhinein" zu verhindern, erfolgt eine implizite HashprĂŒfung der gesamten vorherigen Historie in jedem Commit. Außerdem ist es möglich, digitale Signaturen von Entwicklern fĂŒr bestimmte Tags und Commits zu verwenden.

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

  • Der Befehl „git commit“ wurde um die Option „—trailer [=]“ erweitert, die es erleichtert, eigene strukturierte Informationen (Trailer) im SchlĂŒssel/Wert-Format an den Commit anzufĂŒgen, die anschließend mit dem Befehl „interpret-trailers“ verarbeitet werden können.
  • Anstelle des Mechanismus GIT_CONFIG_NOSYSTEM, der verhindert, dass auf die systemweite Konfigurationsdatei zugegriffen wird, wird der GIT_CONFIG_SYSTEM-Mechanismus vorgeschlagen. Dieser ermöglicht es, explizit anzugeben, aus welcher Datei die systemweiten Einstellungen geladen werden sollen. Außerdem gibt es den Parameter GIT_CONFIG_GLOBAL, um die benutzerspezifischen Einstellungen in $HOME/.gitconfig zu ĂŒberschreiben. Das Setzen der Variable GIT_CONFIG_SYSTEM auf einen leeren Wert Ă€ndert das Verhalten, sodass es dem GIT_CONFIG_NOSYSTEM entspricht.
  • Bei Verwendung der zweiten Version des Git-Kommunikationsprotokolls wurde beim AusfĂŒhren von „git push“ die Bestimmung des gemeinsamen Vorfahren auf der Empfangsseite implementiert. Dies hat die Effizienz von „git push“ auf das Niveau von „git fetch“ angehoben und das Herunterladen von Objekten, die nicht benötigt werden, ausgeschlossen.
  • Es wurde eine einfache IPC-Schnittstelle hinzugefĂŒgt, die das Erstellen von Diensten wie fsmonitor ermöglicht.
  • Die Verarbeitung von Dateien wie „.gitattributes“, „.gitignore“ und „.mailmap“ wird eingestellt, wenn sie symbolische Links sind.
  • FĂŒr den HTTP-Transport wurde die UnterstĂŒtzung von Passwörtern hinzugefĂŒgt, die erfolgreich zur Entsperrung des Zertifikats verwendet wurden.
  • Im Befehl „git stash show“ wurde die Möglichkeit implementiert, den nicht verfolgten Teil des Speichers temporĂ€r ausgeblendeter Dateien anzuzeigen.
  • Das Team von „git repack“ hat eine fortschrittlichere Strategie zur Neuverpackung des Repositories vorgeschlagen, um den Ressourcenverbrauch wĂ€hrend der Neuverpackung zu reduzieren.
  • Im Befehl „git commit“ wurde eine erweiterte Version der Option „—fixup“ (Erstellung eines Commits fĂŒr „rebase —autosquash“) implementiert: „—fixup=(reword|amend):“, die die Wahl bietet, nur die Nachrichten im Protokoll oder sowohl die Nachricht als auch den Inhalt zu Ă€ndern.
  • Im Befehl „git send-email“ wurde die Einstellung der Konfiguration core.hooksPath berĂŒcksichtigt.
  • In „git format-patch -v“ wurde die Verwendung von ZĂ€hlern, die keine ganze Zahl sind, erlaubt.
  • Im Befehl „git clone“ wurde die Option „—reject-shallow“ hinzugefĂŒgt, die das Klonen aus Repositories im Shallow-Modus (ohne vollstĂ€ndige Änderungsverlauf) verbietet.
  • In der Anwendung „gitweb“ wurde ein Modus zum Verstecken von E-Mail-Adressen hinzugefĂŒgt, der Ă€hnliche Strings wie E-Mail-Adressen beim Ausgeben ersetzt.
  • Die Logik der Verarbeitung des Befehls „git apply —3way“ wurde geĂ€ndert, sodass nun zuerst der Algorithmus fĂŒr das dreiseitige Merge angewendet wird und nur im Falle eines Fehlers oder eines Konflikts auf die normale Anwendung des Patches zurĂŒckgegriffen wird (frĂŒher war es umgekehrt).
  • In der Befehl „git apply“ ist es nun erlaubt, die Optionen „—3way“ und „—cached“ gleichzeitig anzugeben.
  • Userdiff unterstĂŒtzt jetzt Vorlagen fĂŒr die Programmiersprache „Scheme“.
  • Der Befehl „git log“ hat die Option „—diff-merges=“ sowie die Einstellung log.diffMerges fĂŒr die Auswahl des Standardmodus erhalten.
  • Den Befehlen „git add“ und „git rm“ wurde ein zusĂ€tzlicher Schutz gegen DatenĂ€nderungen in Pfaden hinzugefĂŒgt, die außerhalb des Bereichs des partiellen Klonens (sparse checkout) liegen.
  • Im Befehl „git rev-list“ wurde die Option „—filter=object:type=“ hinzugefĂŒgt, um bestimmte Objekttypen aus der von der pack-objects-Befehls generierten Pack-Datei auszuschließen.
  • In „git pack-objects“ ist die Angabe negativer Werte in Optionen, die numerische Werte annehmen, wie „—window“ und „—depth“, nicht mehr erlaubt.

Quelle: opennet.ru

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