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
