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

Les activités en direct dans macOS 26 ne demandent pas iOS 26 et pourraient fonctionner en Europe

16/06/2025 à 21:23

• 8


Découverte de Téléphone dans iOS 26 : nouvelle interface, appels inconnus, portages sur l’iPad et le Mac

16/06/2025 à 20:35

• 15


France Identité : l’intégration de la carte grise disponible en bêta

16/06/2025 à 19:51

• 97


La publicité s’infiltre finalement dans WhatsApp

16/06/2025 à 19:51

• 45


Comme promis, Apple sort de nouvelles bêtas… pour iOS 18.6 et macOS 15.6

16/06/2025 à 19:20

• 12


Bug amusant ou blague non assumée ? Une mise à jour de Windows 11 ressuscite le son de démarrage de Vista

16/06/2025 à 18:57

• 16


Un triple écran 15,6 pouces, qui promet l'équivalent de 43 pouces en 48:9

16/06/2025 à 18:07

• 3


Shadow, le PC dans le cloud, fait évoluer ses offres avec une pseudo RTX 4060

16/06/2025 à 16:58

• 19


Le PCI-Express 7.0 (256 Go/s) arrive alors que le PCIe 6.0 ne va pas se démocratiser avant 2030

16/06/2025 à 15:39

• 8


Grosse panne sur les réseaux mobile et fixe de SFR

16/06/2025 à 14:54

• 54


Un Steam Deck caché dans un clavier Apple pour l'utiliser avec des lunettes AR

16/06/2025 à 13:00

• 13


En Allemagne, le Schleswig-Holstein va abandonner les outils Microsoft comme Teams ou Office

16/06/2025 à 11:38

• 59


macOS Tahoe change plus facilement la couleur des LED des manettes de PlayStation

16/06/2025 à 10:45

• 14


Choisissez le moniteur parfait pour votre Mac

16/06/2025 à 09:09

• 0


GlassBar opacifie déjà la barre des menus de macOS Tahoe

16/06/2025 à 09:04

• 17


Nouveautés d’iOS 26, macOS Tahoe, Liquid Glass… Tous nos articles pour tout savoir sur la WWDC 2025

16/06/2025 à 06:00

• 12