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.  ↩︎

Soutenez MacGeneration sur Tipeee

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

OpenAI annonce GPT-5.1, annonçant un chatbot plus amical et chaleureux

21:45

• 3


Valve annonce une console de salon et un nouveau casque VR, en vente début 2026

21:30

• 8


Écrans 4K et 5K pour Mac : les meilleures offres du Black Friday à ne pas rater !

20:30

• 0


Achats de Noël : les retours de l’Apple Store prolongés jusqu’au 8 janvier 2026

18:52

• 2


Apple semble abandonner Apple Intelligence sur les Mac M1... mais c'est peut-être une erreur

18:10

• 43


Pour les retardataires : le magazine des 25 ans de MacG et son mug sont à nouveau en vente !

17:14

• 37


30 ans plus tard, le Motorola 68060 fonctionne enfin dans un Macintosh

15:25

• 13


Rapatriez votre cloud en Europe avec Proton ! 200 Go pour 1,99 € par mois

13:32

• 0


macOS Tahoe : des problèmes de sauvegarde Time Machine sur des NAS

12:33

• 29


Minisforum lance son premier PC ARM, qui ne concurrence pas le Mac mini

11:55

• 12


Le gestionnaire de paquets Homebrew 5 prend officiellement en charge macOS 26

11:37

• 6


Aqara FP300 : le premier détecteur de présence sur pile pour Matter est disponible à 42,5 € en promo

09:14

• 16


Des ONG européennes s’attaquent à la notarisation : l'ultime verrou d’Apple

08:55

• 124


Google s’inspire du Private Cloud Compute d’Apple pour imaginer le Private AI Compute

08:49

• 5


Qu'attendre des AirTag 2, promis avant la fin de l'année ?

07:14

• 46


IA : Yann LeCun sur le point de quitter Meta pour fonder sa propre entreprise

11/11/2025 à 20:41

• 30