La nouvelle version de Git 2.46 arrive après trois mois de développement et dans cette nouvelle version plusieurs améliorations et nouvelles fonctionnalités significatives ont été incorporées telles que la prise en charge expérimentale d'un nouveau type de bitmaps, améliorations du backend expérimental « reftable », nouvelle interface de ligne de commande pour la commande « git config », entre autres.
Cette nouvelle version de Git 2.46 inclut des corrections de bugs de plus de 96 contributeurs, dont 31 nouveaux et à ce titre, la nouvelle version contient 746 modifications.
Principales nouveautés de Git 2.46
Le support expérimental pour Le « bitmap d'accessibilité pseudofusion » est l'un des développements les plus importants de cette version, et ce nouveau type de bitmapset différent de la structure traditionnelle "bitmap d'accessibilité" en stockant des données sur des ensembles d'objets liés aux validations non pas pour chaque validation individuelle, mais pour plusieurs validations à la fois.
En tant que tel, ce bitmap d'accessibilité pseudofusion permet d'utiliser un seul bitmap pour définir des objets dans des commits de différentes branches, ce qui entraîne une amélioration significative des performances, en particulier sur les grands référentiels. Cela accélère les opérations telles que git fetch, git rev-list et git clone en réduisant le besoin de générer plusieurs bitmaps distincts.
Git 2.46 introduit également plusieurs améliorations importantes à son interface de ligne de commande et dans la gestion des informations d'identification et du stockage des données. L'interface de ligne de commande de la commande git config a été repensée, remplacer des options disparates comme –get, –get-all, –unset et –remove-section avec un ensemble de sous-commandes plus intuitives. Par exemple, pour afficher toutes les configurations du référentiel, vous pouvez désormais utiliser la commande «liste de configuration git«, et pour visualiser le contenu d'un paramètre spécifique, vous pouvez désormais utiliser la commande «git config obtenir ». Pour filtrer davantage les résultats, vous pouvez utiliser l'option « –regexp » pour spécifier un filtre basé sur une expression régulière.
En plus de cela, dans le protocole «credential helper" a ajouté la prise en charge des nouveaux champs "authtype" et "credential", vous permettant de créer des gestionnaires pour les systèmes d'authentification HTTP qui font plus que simplement vérifier le nom d'utilisateur et le mot de passe, par exemple lors de l'utilisation du Bearer Token dans OAuth 2.0. Et auparavant, Pour travailler avec de tels systèmes d'authentification, il était nécessaire de spécifier les données confidentielles en texte clair dans le paramètre http.extraHeader. En plus, le protocole ajoute la possibilité de conserver l'état de chaque contrôleur d'informations d'identification pour prendre en charge les méthodes d'authentification multifacteur utilisées dans des protocoles tels que NTLM et Kerberos.
Par ailleurs, le développement du backend expérimental « reftable » a été amélioré pour un stockage efficace des liens vers les branches et les balises dans le référentiel. La nouvelle version ajoute la commande « git refs migrate –ref-format=reftable » pour migrer les référentiels existants vers le backend « reftable » (auparavant, le backend n'était activé que lorsque le référentiel était initialisé).
Aussi, Dans Git 2.46, le processus de conversion de certains tests de la suite de tests a commencé, à l’utilisation de tests unitaires. Ceci vise à simplifier les tests des composants de bas niveau et augmentera l'efficacité du processus de test sur la plate-forme Windows, ce qui génère des frais généraux importants lors de l'exécution d'un certain nombre de processus sur une grande plate-forme lors de l'exécution de tests implémentés dans des scripts shell. .
De l' d'autres changements qui se démarquent de cette nouvelle version:
- Ajout de l'option « –no-advice » à la commande git, qui désactive tous les messages de conseils et d'astuces, ce qui peut être utile pour éviter que le journal ne soit obstrué par des informations inutiles lors d'un appel git push.
- Ajout de la possibilité d'utiliser la représentation « #RGB » en plus de la représentation « #RRGGBB » dans le code pour analyser les paramètres de couleur.
- Lorsque git merge constate que l'index ne peut pas être mis à jour (par exemple, en raison de
à un autre processus qui fait la même chose en arrière-plan) - Une macro CPP USE_THE_REPOSITORY_VARIABLE est introduite pour aider la base de code à être moins dépendante de la disponibilité de l'instance singleton the_repository.
- « git version –build-options » rapporte les informations de version de
- OpenSSL et autres bibliothèques (si utilisées) dans la build.
- Correction de fuites de mémoire dans "git mv"
- Prise en charge de la complétion de ligne de commande mise à jour pour zsh (dans contrib/)
arrêter d'exposer l'état interne à l'interaction du shell de l'utilisateur final
Enfin si vous souhaitez en savoir plus, vous pouvez vérifier les détails dans le lien suivant