Microsoft dévoile Git Virtual File System pour Windows 10
Microsoft annonce Git Virtual File System (GVFS) pour Windows 10
Une solution destinée à supporter les énormes dépôts et bases de code
Git est un logiciel de gestion de versions décentralisé. C'est un logiciel libre créé par Linus Torvalds, auteur du noyau Linux, et distribué selon les termes de la licence publique générale GNU version 2. En 2016, il s’agit du logiciel de gestion de versions le plus populaire qui est utilisé par plus de douze millions de personnes.
Au sein de Microsoft, plusieurs équipes de développement utilisent Git pour gérer d’énormes bases de code. Pour cette raison, ils font face à des problèmes de performance avec la version actuelle qui n’a pas été conçue pour de larges bases de code. À titre d'exemple, la base de code de Windows a plus de 3,5 millions de fichiers et une taille de plus de 270 GB. En exécutant la commande git checkout, il faudra attendre jusqu’à trois heures, un git clone prend plus de 12 heures et même un simple git status prend environ dix minutes pour s’exécuter. Pour éviter ces problèmes de performance, Microsoft travaille actuellement sur une solution permettant au client Git de devenir plus performant avec les énormes dépôts. La nouvelle solution s’appelle GVFS (Git Virtual File System).
Le nouveau Git Virtual File Systme (GVFS) qui apparait dans GitHub, virtualise le système de fichiers en dessous de votre dépôt et fait en sorte que tous les fichiers apparaissent comme étant présents, mais en réalité, il ne télécharge un fichier que lorsqu’il est ouvert pour la première fois. GVFS gère également la taille du référentiel à prendre en compte pour des opérations comme checkout et status, puisque tout fichier qui n’a pas été hydraté peut être ignoré en toute sécurité.
Beaucoup de firmes choisissent d’utiliser un seul dépôt pour stocker leur code, Facebook et Google en sont deux exemples notables. Recourir à un seul dépôt permet de résoudre le problème “diamond dependency” ; Rachet Povin de Google a longuement parlé des avantages et limites de cette approche dans cette vidéo sur YouTube. Plusieurs dépôts créent des problèmes de tout genre, de telle façon que Google a choisi d’avoir un super dépôt pour toute l’entreprise. Si Windows à un seul dépôt, beaucoup d’autres services ont plusieurs petits dépôts comme les projets OSS sur GitHub.
Les équipes de Microsoft avaient auparavant essayé Git LFS (Git Large File Storage), mais cette solution n’a pas aidé à résoudre les problèmes que les développeurs ont rencontrés à cause de l’énormité du dépôt de Windows. Trois grandes raisons ont empêché le passage de Windows à Git :
* Des fichiers énormes : LFS permet d’adresser cela
* Beaucoup de fichiers - LFS ne permet pas de résoudre ce détail. 1 000 000 de petits fichiers sur Git produisent des status scan de façon extrêmement lente (10 minutes pour exécuter un status scan). Briser la base de code existante va prendre des années d’effort, pour cette raison, la réduction du nombre de fichiers n’a pas été une solution possible ou pratique.
* Une multitude de branches - LFS n’a pas résolu ce problème, mais GVFS également, alors les équipes ont dû implémenter une autre solution. Des milliers d’ingénieurs travaillent sur Windows et chacun d’eux à plus de dix branches. Il est estimé qu’il y a 100 000 branches par dépôt.
Avec GVFS, un clone va prendre seulement quelques minutes et non pas plusieurs heures. Microsoft a déjà introduit des changements à Git afin qu’il puisse marcher proprement sur un dépôt GVFS. L’utilisation de GVFS requiert Windows 10 Anniversary Update ou une version plus récente et peut être utilisé avec Visual Studio 2015 Community Edition ou une version plus récente. Bien qu’il soit disponible en essai, GVFS est toujours en développement, a informé Microsoft. Il s’appuie toujours sur un driver de système de fichiers en préversion avec des fichiers binaires qui sont également disponibles en préversion en tant que paquet NuGet.
Source : blog Microsoft
Et vous ?
:fleche: Qu'en pensez-vous ?
:fleche: Avez-vous rencontré des problèmes similaires avec Git ?
1 pièce(s) jointe(s)
Microsoft cède à la pression des développeurs et décide de renommer GVFS
Microsoft cède à la pression des développeurs et décide de renommer GVFS
son système de contrôle de version open source
Il y a un an, Microsoft a dévoilé son projet open source GVFS (Git Virtual File System), une solution destinée à supporter les énormes dépôts et bases de code. Au sein de Microsoft, plusieurs équipes de développement ont utilisé Git pour gérer d’énormes bases de code. Pour cette raison, ils ont fait face à des problèmes de performance avec Git qui n’a pas été conçu pour de larges bases de code. À titre d'exemple, la base de code de Windows a plus de 3,5 millions de fichiers et une taille de plus de 270 Gb. En exécutant la commande git checkout, il faudra attendre jusqu’à trois heures, un git clone prend plus de 12 heures et même un simple git status prend environ dix minutes pour s’exécuter. Pour éviter ces problèmes de performance, Microsoft a entrepris de travailler sur une solution permettant au client Git de devenir plus performant avec les énormes dépôts. Cette solution a été baptisée GVFS (Git Virtual File System).
Seulement, un autre projet GNOME avait déjà un système de fichiers virtuels (Virtual File System) portant le même nom “GVFs” utilisé pendant des années bien avant Microsoft, et ayant accumulé des centaines de discussions en ligne. Cela n’a pas empêché GVFS de Microsoft de vite dépasser GVFs sur Google ce qui menait souvent à la confusion. Pour compliquer la situation davantage, Microsoft a refusé de changer le nom malgré une vive réaction du public sur GitHub et les réseaux sociaux, et malgré des pull-requests fournissant des scripts pour changer le système à n’importe quel autre nom.
Après un tollé général, il semble que Microsoft a cédé enfin à la pression et a promis de changer le nom de GVFS. Dans un billet publié sur GitHub, Microsoft informe qu’elle a entendu les réactions et sollicite désormais l’aide des développeurs pour trouver un nouveau nom au projet. Avec un brin d’humour, l’éditeur admet aussi ne pas avoir un don pour le choix de bons noms. Jusqu’à présent, la publication a reçu 129 commentaires. Microsoft a promis de regrouper les suggestions dans une liste et procéder au vote.
Parmi les noms suggérés par les développeurs on trouve : Sparse Versioning File System (SPVFS), Sparse Virtual Repository System (SVRS), Virtual Git File System (VGFS) et Repository Virtual File System (RVFS).
Cette décision de Microsoft de renommer GVFS intervient quelques jours seulement après que la firme a confirmé le rachat de GitHub pour la modique somme de 7,5 milliards de dollars.
Source : GitHub
Et vous ?
:fleche: Pensez-vous que Microsoft a tardé pour repondre à la requête des développeurs ?
:fleche: Quels noms suggérez-vous pour remplacer Git Virtual File System ?
Voir aussi :
:fleche: Rachat de GitHub, pourquoi ce rachat, et quels sont les plans de Microsoft
:fleche: Microsoft et GitHub collaborent pour porter GVFS sur macOS et Linux, la solution destinée à supporter les énormes bases de code gagne en maturité
:fleche: Le futur CEO de GitHub, Nat Friedman, veut mettre les points sur les i, le vétéran de l'open source estime que Microsoft est le partenaire idéal