Pour apporter une réponse aux problèmes de performance rencontrés sur le système de contrôle de version distribué Git, Microsoft présente Scalar, un jeu d’outils et d’extensions pour les utilisateurs de Windows et MacOS qui aident à mettre Git à l’échelle. Il s’agit d’une application C# qui accélère la performance de commandes de Git en installant des valeurs de configuration recommandées et en effectuant une maintenance en arrière-plan. En faisant tourner scalar register dans un dépôt Git, on peut activer les fonctionnalités suivantes : Sparse-checkout pour limiter la taille d’un référentiel de travail, File system monitoring pour éliminer la nécessité pour Git de scanner entièrement un arbre de travail, Multi-pack indexing pour permettre la recherche rapide d’objets à travers de nombreux pack-files (regroupant des objets dans un fichier compressé) et Commit-graph pour accélérer les processus de soumissions de code (commits), sur des commandes telles que git log.
Microsoft a développé Scalar pour intervenir sur les difficultés rencontrées par Git lorsqu’il gère des volumes croissants de données. Il a utilisé VFS for Git, précédemment le protocole réseau GVFS, qui utilise un système de fichier virtualisé pour aider les développeurs Windows à utiliser Git avec de très grands référentiels. En utilisant VFS for Git, Microsoft identifie les problèmes de performances en utilisant un système de traçage et en collectant les feedbacks des utilisateurs. Les résultats ont débouché sur différentes contributions au client Git, parmi lesquels des améliorations sur git push. En s’appuyant sur ces contributions, l’éditeur de Redmond a démarré un projet pour supporter les très grands référentiels sans avoir besoin d’un système de fichiers virtualisé. Ce fut Scalar. Cette application .NET Core s’installe sur Windows et MacOS. Les référentiels clonés avec la commande scalar clone utilisent GVFS pour réduire le volume de données nécessaires pour démarrer un référentiel. En différant les téléchargements blob jusqu’à ce que ce soit absolument nécessaire, Scalar permet aux utilisateurs de travailler rapidement avec de très grands référentiels.