2 février présenté lancement d'un système de gestion décentralisé des textes sources Git 2.53.
Git se distingue par ses performances élevées et offre des outils de développement non linéaire basés sur la création et la fusion de branches. Pour garantir l'intégrité de l'historique et sa résistance aux modifications rétroactives, un hachage implicite de l'ensemble de l'historique précédent est utilisé dans chaque commit, ainsi que la certification par des signatures numériques des développeurs pour certains tags et commits. Le code Git est distribué sous licence GPLv2+.
Comparé à la version précédente, 466 modifications ont été acceptées dans cette nouvelle version, grâce à la participation de 70 développeurs (21 ont contribué à Git pour la première fois). Principales nouveautés:
- Ajouté la possibilité d'appliquer la stratégie d'empaquetage de dépôts géométriques (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 des options --geometric, les fichiers pack avec l'extension .promisor sont traités et empaquetés séparément. La stratégie géométrique permet de réduire le temps d'entretien des grands monodépôts, grâce à l'empaquetage sélectif des objets et à l'exclusion d'opérations gourmandes en ressources, telles que la fusion de tous les fichiers pack (la progression géométrique de la taille des fichiers pack est maintenue, chaque fichier pack suivant devant être au moins deux fois plus grand que le précédent).
- L'équipe git fast-import a ajouté l'option --signed-commits=strip-if-invalid pour supprimer les signatures numériques des objets importés devenus invalides après la réécriture d'une partie de l'historique du dépôt. Avant cela, il était possible d'importer ou 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 place des outils pour conserver les signatures actives et de resignature des objets avec des signatures devenues obsolètes.
- La sortie de la commande git repo structure inclut des informations sur la taille de tous les objets atteignables (reachable) dans le dépôt, classées par type. Les informations sont désormais affichées de manière lisible avec des unités de mesure et sont présentées séparément pour les tailles réelles et celles occupées 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 | | | * Compte | 1,78 k | | * Branches | 5 | | * Tags | 1,03 k | | * Remotes | 749 | | * Autres | 0 | | | | | * Objets accessibles | | | * Compte | 421,37 k | | * Commits | 88,03 k | | * Arbres | 169,95 k | | * Blobs | 162,40 k | | * Tags | 994 | | * Taille gonflée | 7,61 GiB | | * Commits | 60,95 MiB | | * Arbres | 2,44 GiB | | * Blobs | 5,11 GiB | | * Tags | 731,73 KiB | | * Taille du 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 ajouté la sous-commande is-needed pour effectuer des opérations d'entretien de dépôt uniquement en cas de besoin.
- Dans l'équipe expérimentale git replay, la mise à jour des références dans la transaction est maintenant activée par défaut, au lieu de simplement montrer où les références devraient 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=.
- La commande git repo info a ajouté l'option —all.
- Le support des liens symboliques a été transféré de Git-for-Windows à la plateforme Windows.
La version précédente a ajouté avertissement l'inclusion par défaut de la construction des composants en langage Rust dans Git 2.53. Cependant, dans la version Git 2.53, en réalité, il n'y a que ajoutées certains améliorations du support de Rust (possibilité de construire sans GNU sed), mais la construction avec Rust lors de l'utilisation de Makefile est restée désactivée par défaut (requiert le drapeau WITH_RUST), et lors de l'utilisation de Meson, cela s'active automatiquement si le compilateur rustc est présent. Dans la version Git 3.0, l'outil Rust est prévu d'être inclus dans les dépendances de construction obligatoires. Le 2 février, la sortie du système de gestion décentralisée des versions
Source : linux.org.ru
