La version 2.9 de Git est maintenant disponible,
cette nouvelle version vient notamment avec une heuristique améliorée pour le moteur git diff
Deux mois après la sortie de la version 2.8 de Git, la version 2.9 du gestionnaire de versions est disponible avec un nombre important de nouvelles fonctionnalités ainsi que des corrections de bogues très attendues par certains membres de la communauté. L’équipe derrière Git met en avant des sous-modules plus flexibles et plus rapides pour cette nouvelle version du gestionnaire de versions. Avec la version 2.9, il est désormais possible d’utiliser l’option --jobs pour cloner ou mettre à jour un sous-module comme le montre la capture suivante.
Une autre nouvelle fonctionnalité relative aux modules dans la version 2.9 du gestionnaire de versions est la possibilité de spécifier la manière de cloner ces derniers. La nouvelle version de Git permet maintenant de passer les options de configuration de la ligne de commande aux sous-modules. Ce qui permet de définir notamment des variables communes à tous les sous-modules en utilisant la ligne de commande suivante : git -c http.proxy=... clone --recursive.
Depuis la version précédente de Git, le gestionnaire de versions permettait d’utiliser, avec Git LFS, l’option -c pour rendre plus rapide la création de la branche initiale. De la même manière, la version 2.9 permet maintenant de passer l’option --shallow-submodules à la commande git clone pour effectuer un clonage faible de tous les sous-modules.
La version 2.9 de Git améliore également la façon dont les différences entre les versions d’un fichier sont présentées au fur et à mesure que des modifications lui sont apportées. Cette fonctionnalité très utile de Git qui permet de savoir quelle partie a été ajoutée à un fichier, quelle partie en a été supprimée ou encore quelle autre partie en a été modifiée. Cependant, la manière de les présenter pouvait être confuse quelques fois avec les anciennes versions de Git.
La nouvelle version du gestionnaire de versions améliore la présentation de ces différences entre les versions du même fichier grâce à une nouvelle heuristique qui lui permet de détecter les lignes vides séparant les grands blocs de code et puis de décaler ces derniers vers le haut jusqu’à atteindre une ligne non vide. La capture suivante montre la différence avec la version précédente de l’heuristique utilisée par le moteur de git diff.
Cette nouvelle heuristique reste cependant à une phase expérimentale et peut être amenée à évoluer au fil du temps. Pour le moment le soin est laissé à l’utilisateur de l’activer en exécutant la commande --compaction-heuristic dans le terminal ou en ajoutant la ligne diff.compactionHeuristic dans le fichier de configuration de git.
En plus de la coloration syntaxique qu’offre Git, la nouvelle version vient aussi avec des filtres permettant de personnaliser davantage les sorties de la commande diff. En effet, la commande diff-highlight permet de mettre en surbrillance la partie modifiée comme le montre la capture suivante.
La fonction rebase a également été améliorée avec la possibilité d’y associer maintenant l’option -x, ce qui permet d’ajouter la commande au début de chaque validation pour ne pas avoir à réécrire plusieurs fois la commande exec make test. À noter également pour cette nouvelle version de Git, la possibilité de mapper les utilisateurs avec des identifiants Git ainsi que la possibilité de définir des chemins personnalisés pour les modules.
Source : github.com
Et vous ?
Que pensez-vous de cette nouvelle version de Git ?
Voir aussi
le forum Logiciels Libres et Open Source
Partager