Récemment annoncé, Git 2.8 apporte de nombreuses fonctionnalités nouvelles, des améliorations et des corrections de bugs. Parmi les plus remarquables, on peut compter la récupération parallèle des sous-modules, l'amélioration de la façon dont Git gère l'identité d'un utilisateur et un meilleur support pour Windows.
La récupération parallèle des sous-modules vise à réduire le temps nécessaire pour aller chercher un dépôt et tous ses sous-modules connexes en permettant l'extraction de plusieurs dépôts à la fois. Ceci peut être accompli en utilisant la nouvelle option --jobs
, p.e. :
git fetch --recurse-submodules ---jobs=4
Selon l'équipe Git, ceci peut accélérer considérablement la mise à jour des dépôts qui contiennent de nombreux sous-modules. Lors de l'utilisation de --recurse-submodules
sans la nouvelle option --jobs
, Git va récupérer les sous-modules un par un.
L'option de configuration globale qui permet de désactiver le comportement par défaut de Git d'inférence de l'identité du committer lorsqu'aucune identité n'a été spécifiée via les options de configuration user.name
et user.email
est une nouvelle fonctionnalité qui sera favorablement accueillie par tous les développeurs qui veulent pouvoir utiliser différentes identités pour différents projets. Dans de tels cas, Git devine par défaut l'identité du committer, ce qui peut conduire à l'utilisation d'une mauvaise identité utilisée pour un nouveau dépôt. D'autre part, le réglage de la nouvelle option user.useconfigonly
, à savoir :
git config --global user.useconfigonly true
fera émettre à Git un avertissement lorsque le développeur committe sur un nouveau dépôt et le forcera à spécifier explicitement une identité à utiliser pour ce dépôt si aucune n'a été spécifiée au préalable.
Un changement connexe vise à rendre plus facile à diagnostiquer où un paramètre spécifique a été défini, que ce soit au niveau de l'utilisateur, du dépôt ou du système. En effet, les développeurs peuvent maintenant utiliser :
config git --show-origin <nom du paramètre>
pour montrer d'où provient ce paramètre spécifique.
Git 2.8 vise également à améliorer son intégration avec Windows par :
- La réécriture de nombreuses commandes de Git en C pour les rendre plus rapides
- La fusion d'un certain nombre de modifications spécifiques à Windows depuis git-for-Windows
- La reconnaissance de fins de ligne CRLF avec LF.
De plus, Git 2.8.0 corrige une faille de sécurité de débordement d'entier qui pouvait entraîner l'exécution de code arbitraire lors du clonage d'un dépôt malveillant. Le patch a été également mis à disposition pour les versions Git antérieures, à savoir 2.4.11+, 2.5.5+, 2.6.6+, 2.7.4+.
D'autres nouvelles fonctionnalités utiles dans Git 2.8 sont :
-
git ls fichiers --eol <filename>
peut aider à diagnostiquer des questions relatives aux fins de ligne -
git pull --rebase
peut désormais invoquer la réécriture de l'historique en utilisantrebase -i
Vous pouvez consulter ici la liste complète des modifications de Git 2.8.