A small, relaxing news was published some days ago:
It’s been 3 months since I first wrote about our efforts to scale Git to extremely large projects and teams with an effort we called “Git Virtual File System”. […]
Today, I want to share our results. In addition, we’re announcing the next steps in our GVFS journey for customers, including expanded open sourcing to start taking contributions and improving how it works for us at Microsoft, as well as for partners and customers.
Over the past 3 months, we have largely completed the rollout of Git/GVFS to the Windows team at Microsoft.[…]
So open source software, specifically the Git Version Control system is the golden tool used by the most closed-source company in the PC Desktop market.
A big win for the GNU guys over there!
A very clever choice by Nardella and Microsoft team, indeed!
So one of the most successful Independent Software Vendor (ISV) decided to use a “not invented here” revision control system to store its golden source….funny, isn’t it? I will go to de-install my VisualSourceSafe right now… :)
Let dive inside this big source base….but first of all, what is GVFS?…
GVFS stands for Git Virtual File System. GVFS virtualizes the file system beneath your git repo so that git and all tools see what appears to be a normal repo, but GVFS only downloads objects as they are needed. GVFS also manages git’s sparse-checkout to ensure that git operations like status, checkout, etc., can be as quick as possible because they will only consider the files that the user has accessed, not all files in the repo.
So GVFS is a tool used to manage the so-big Windows GIT repository. I am still unsure on the reason they did not start breaking windows in more fine-grained module, but I understand it will be a very huge effort, so GVFS project could be easier to implement…..
As a refresher, the Windows code base is approximately 3.5M files and, when checked in to a Git repo, results in a repo of about 300GB. Further, the Windows team is about 4,000 engineers and the engineering system produces 1,760 daily “lab builds” across 440 branches in addition to thousands of pull request validation builds.
[…]Windows, because of the size of the team and the nature of the work, often has VERY large merges across branches (10,000’s of changes with 1,000’s of conflicts)
A bunch of years ahead in time.
PM: How much it will cost to refactor MS-Windows 23?
SeniorSolutionArchitect: Dropping Win64-Api, and supporting RaspberryPI-10 will cost about 1000 days/men but we can do it in six moth of hard work…We cannot drop support for Raspberry right now by the way.
PM: MSWindows update is priced at 2 euros on AppStore, we cannot afford so much…what are the other options?
SeniorSolutionArchitect: We can rewrite the GUI on top of Linux 7.0 in about 20 days…
PM: Ok, let’s talk a bit more about this option….