From the article:<p>> <i>Lots of branches – Users of Git create branches pretty prolifically. It’s not uncommon for an engineer to build up ~20 branches over time and multiply 20 by, say 5000 engineers and that’s 100,000 branches. Git just won’t be usable. To solve this, we built a feature we call “limited refs” into our Git service (Team Services and TFS) that will cause the service to pretend that only the branches “you care about” are projected to your Git client. You can favorite the branches you want and Git will be happy.</i><p>This is almost certainly a result of trying to have one company-wide monolithic repository that holds the source code of hundreds or thousands of separate projects.<p>Git is more pleasant when you break your codebase into isolated components. These can be pretty large—the Linux kernel has 16 million lines of code—but if your codebase is many times larger than a complete modern kernel, you might want to split it.<p>If you have 5,000 engineers all pushing branches to a single master git repository, you may want to either rethink your repository structure, or at least have maintainer subtrees the way Linux does.
I recall that for Windows "Longhorn" they were supposed to include a file system based on SQL Server.<p>Never happened. We ended up with "Vista" instead.<p>Maybe they've learned their lessons on that.<p>I do recall some years ago seeing someone had posted (here maybe?) that they were using git to manage their home directory and everything in it.<p>Having the ability to easily switch between versions of my operating system could possibly be great.<p><pre><code> git checkout -b upgrade/service-pack-12
# ...trying things...
# ..decide it was a terrible idea...
git reset --hard
git checkout -
# phew!</code></pre>
Anybody know what CLI the Microsoft git users use on Windows? The few times I've tried using GitBash it's been <i>very</i> slow. Not unworkable, but painfully slow.
I wonder how hard it would be to port the same client code to also run under FUSE on Linux/Mac. For this to take off outside of Microsoft, it needs universal client support.
It would be interesting to use this not only for the filesystem but for the entire OS, so that all state changes could be audited. Perhaps some unikernels already do this sort of thing.
Embrace and Extend, anyone?<p>(I don't expect anything nefarious, Microsoft doesn't have the power these days to make GVFS the default git client for 90% of developers, it's just amusingly MS style...)