Publication du système de gestion de versions Git 2.53

La version 2.53 du système de gestion de version distribué Git a été publiée. Git se distingue par sa haute performance et fournit des outils de développement non linéaire, basés sur le bifurcation et la fusion de branches. Pour garantir l'intégrité de l'historique et la résistance aux modifications « rétroactives », il utilise un hachage implicite de toute l'histoire précédente dans chaque commit, ainsi que l'authentification par des signatures numériques des développeurs pour des balises et commits spécifiques. Le code Git est distribué sous la licence GPLv2+.

Comparée à la version précédente, la nouvelle version comprend 466 modifications, préparées avec la participation de 70 développeurs (21 d'entre eux ont participé au développement de Git pour la première fois). Les principales nouveautés :

  • Ajout de la possibilité d'appliquer la stratégie d'archivage des dépôts « géométrique » (« git repack —geometric ») aux dépôts externes partiellement clonés fonctionnant en mode « promisor » (les objets manquants sont téléchargés au besoin). Lors de la réemballage avec l'option « —geometric », les fichiers d'archive avec l'extension « .promisor » sont traités et emballés séparément. La stratégie « géométrique » permet de réduire le temps d'entretien des grands monodépôts, en réalisant une réemballage sélective des objets et en évitant des opérations coûteuses en ressources, comme la fusion de tous les fichiers d'archive (la progression géométrique de la taille des fichiers d'archive est préservée, chaque nouveau fichier d'archive devant être au moins deux fois plus grand que le précédent).
  • Une option « —signed-commits=strip-if-invalid » a été ajoutée à la commande « git fast-import » pour supprimer les signatures numériques des objets importés qui sont devenues invalides après la réécriture d'une partie de l'historique du dépôt. Auparavant, il était possible soit d'importer, soit de supprimer toutes les signatures, sans distinction entre celles qui étaient valides et celles qui avaient perdu leur sens. L'option « strip-if-invalid » permet de mettre en œuvre des outils pour préserver les signatures valides et pour refaire signer les objets avec des signatures devenues obsolètes.
  • La sortie de la commande « git repo structure » a été enrichie d'informations sur la taille de tous les objets accessibles (reachable) dans le dépôt, détaillée par type. Les informations sont désormais affichées de manière lisible avec des unités de mesure, et montrent séparément la taille réelle et celle occupée sur le disque, ce qui permet d'évaluer la taille totale du dépôt sur le disque. $ git repo structure | Structure du dépôt | Valeur | | ——————— | ———- | | * Références | | | * Nombre | 1.78 k | | * Branches | 5 | | * Tags | 1.03 k | | * Remotes | 749 | | * Autres | 0 | | | | * Objets accessibles | | | * Nombre | 421.37 k | | * Commits | 88.03 k | | * Arbres | 169.95 k | | * Blobs | 162.40 k | | * Tags | 994 | | * Taille dépliée | 7.61 GiB | | * Commits | 60.95 MiB | | * Arbres | 2.44 GiB | | * Blobs | 5.11 GiB | | * Tags | 731.73 KiB | | * Taille sur disque | 301.50 MiB | | * Commits | 33.57 MiB | | * Arbres | 77.92 MiB | | * Blobs | 189.44 MiB | | * Tags | 578.13 KiB |
  • La commande « git maintenance » a été enrichie d'une sous-commande « is-needed » pour effectuer des opérations d'entretien du dépôt uniquement en cas de nécessité.
  • La commande expérimentale « git replay » implémente par défaut la mise à jour des références dans la transaction, plutôt que d'afficher où les références doivent pointer sans mise à jour.
  • La commande « git blame » a ajouté la possibilité de choisir l'algorithme d'évaluation des différences via l'option « —diff-algorithm=<algo> ».
  • La commande « git repo info » a été améliorée avec l'option « —all ».
  • Le support des liens symboliques a été transféré depuis Git-for-Windows pour la plateforme Windows.

La dernière version a ajouté un avertissement concernant l'activation par défaut de la compilation des composants en Rust dans Git 2.53. Cependant, dans la version Git 2.53, seules des améliorations isolées concernant le support de Rust ont été ajoutées (possibilité de compilation sans GNU sed), mais la compilation avec Rust en utilisant Makefile est restée désactivée par défaut (nécessite le flag WITH_RUST), tandis qu'en utilisant Meson, elle s'active automatiquement en présence du compilateur rustc. Dans Git 3.0, l'outil Rust devrait être inclus parmi les dépendances de compilation obligatoires.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster