IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft annonce Git Virtual File System (GVFS) pour Windows 10
Une solution destinée à supporter les énormes dépôts et bases de code

Le , par Coriolan

298PARTAGES

7  0 
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 ?

Qu'en pensez-vous ?
Avez-vous rencontré des problèmes similaires avec Git ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de 23JFK
Membre expert https://www.developpez.com
Le 07/06/2018 à 19:51
Ils vont juste rajouter le M de Microsoft ou le W de Windows ou les deux ( MGVFS | WGVFS | MWGVFS ).
0  0 
Avatar de Markand
Membre éclairé https://www.developpez.com
Le 10/06/2018 à 16:14
Peut-être c'est justement parce qu'ils ont commencé à avoir ce soucis qu'ils se sont dit « oups, on devrait peut-être écouter les gens maintenant »

https://github.com/Microsoft/GVFS/issues/68
0  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 07/06/2018 à 19:22
Je propose en nouveau nom :
BGVFS (Bugged Git Virtual FS)

0  2