Ouvrir le menu principal

MacGeneration

Recherche

Git 2.37 récupère bien plus rapidement le statut d’un projet sur macOS

Nicolas Furno

mardi 28 juin 2022 à 11:30 • 22

Logiciels

Les plus gros projets de développement vont devenir beaucoup plus faciles à gérer grâce à une mise à jour de Git, un outil de versionnement bien connu des développeurs, même s’ils ne sont pas les seuls à les utiliser1. Comme tous les outils similaires, son rôle est non seulement de suivre toutes les modifications apportées à un projet, mais aussi de les enregistrer. Tout ce que vous faites depuis la création du projet est stocké, ce qui peut vite représenter des centaines de méga-octets et milliers de fichiers, voire des dizaines de giga-octets et millions de fichiers pour les projets les plus gros et anciens.

Un bon exemple de projet de grosse taille et avec un long historique pourrait être WebKit, le moteur d’affichage de Safari, dont le dépôt Git proposé sur GitHub contient plus de 250 000 « commits » (des modifications qui touchent en général plusieurs fichiers) qui remontent jusqu’au 24 août 2001. Près de 21 ans d’histoire, sachant que le WebKit des débuts n’a sans doute plus grand-chose à voir avec l’actuel, et qu’un moteur d’affichage web nécessite énormément de fichiers. Pour vous donner une idée, le projet actuel nécessite de télécharger plus de 12 Go de données pour récupérer plus de 361 000 fichiers différents.

Gérer cet historique est une tâche plus complexe qu’il n’y paraît, même pour un ordinateur aussi puissant que mon Mac Studio avec sa puce Apple M1 Max. Quand j’ouvre le dossier qui contient le projet WebKit dans le terminal, il lui faut quelques secondes pour me rendre la main2. Cela correspond au temps nécessaire pour analyser chaque fichier et vérifier s’il a été modifié par rapport au serveur. La commande git status donne une information similaire et elle a aussi besoin de plusieurs secondes pour donner son résultat.

Jusque-là, Git avait du mal à gérer les très gros projets comme celui de WebKit, y compris depuis la ligne de commande fournie par le terminal. Il faut une vingtaine de secondes ici pour ouvrir le dossier et obtenir un statut du projet.

Les créateurs de Git ont sorti une mise à jour qui apporte une amélioration sur ce point précis. Avec la version 2.37, on peut activer un nouvel outil de surveillance des fichiers intégré à Git. Il n’est pas actif par défaut et doit être mis en route avec cette commande saisie dans chaque dépôt : git config core.fsmonitor true. Une fois que c’est fait, la différence est spectaculaire : sur le même Mac Studio et le même projet WebKit, l’entrée dans le dossier puis l’obtention du statut sont quasiment instantanées. Notez aussi que la charge CPU (pourcentage en haut) reste basse, alors que le processeur était fortement exploité auparavant.

Les mêmes opérations réalisées avec Git 2.37 sont nettement plus rapides.

Ce changement est disponible sur macOS et sur Windows. Notez que la version de Git fournie avec macOS est trop ancienne pour en bénéficier, vous devrez installer une copie à jour, ce qui peut être aisément effectué avec le gestionnaire de paquets Homebrew (brew install git). D’autres options sont proposées sur le site officiel.


  1. Nous l’utilisons au sein de la rédaction pour le suivi de version de nos livres, par exemple.  ↩︎

  2. Cette latence est liée à une fonction spécifique que j’ai activée dans mon terminal : via oh-my-zsh, je peux obtenir des informations sur le dépôt Git actif, notamment pour connaître la branche en cours et savoir s’il y a des modifications locales. Avec un terminal « standard », l’ouverture serait immédiate, car toute la partie Git serait ignorée.  ↩︎

Rejoignez le Club iGen

Soutenez le travail d'une rédaction indépendante.

Rejoignez la plus grande communauté Apple francophone !

S'abonner

Assistant d’évaluation : un rapport de bug peut servir à entraîner Apple Intelligence

12:43

• 1


macOS 15.4 ne blanchit plus le fond de l'écran

12:05

• 0


Promo : jusqu'à 10 % de remise sur les MacBook Pro et MacBook Air M4

10:56

• 6


Netflix augmente ses prix en France sur fond de bons résultats

08:11

• 146


Les dernières publicités de Beats vantent avec humour les mérites des nouveaux câbles colorés de la marque

08:03

• 19


Incogni lance un plan Unlimited (et c’est une petite révolution dans la protection des données) 📍

17/04/2025 à 23:58

• 0


Tim Cook, plus que jamais dans les petits papiers de Donald Trump

17/04/2025 à 21:30

• 58


Guide d’achat : quel MacBook acheter en ce début 2025 ?

17/04/2025 à 20:30

• 8


Meta a réfléchi un temps à étendre l’option payante de Facebook aux USA

17/04/2025 à 20:15

• 6


Un SSD usé n'est pas une bonne solution pour préserver des données

17/04/2025 à 18:29

• 27


Promo : -280 € sur l'iMac M4 avec écran nano-texturé

17/04/2025 à 16:43

• 2


AmigaOS 3 continue à être mis à jour, près de 30 ans plus tard

17/04/2025 à 15:50

• 37


Voici le moyen le moins cher d’obtenir Microsoft Office à vie sur Mac en avril 📍

17/04/2025 à 13:14

• 0


Le Snapdragon X 2 Elite sur les rails, jusqu'à 22 % plus rapide

17/04/2025 à 12:00

• 5


Fitness+ : une salle de sport bretonne attaque Apple pour contrefaçon et concurrence déloyale

17/04/2025 à 11:57

• 42


Synology espère rendre ses propres disques durs obligatoires dans ses nouveaux NAS

17/04/2025 à 11:30

• 98