10 ms·
More on GVFS
- grandalf 10y agoIt 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.
- dexwiz 10y agoIt sounds like GVFS solves the problems of big repos by only fetching and diffing files you actually need. It might handle a 300GB repo, but its does this by only working with the 1GB of the repo you actually use, and "virtualizing" the rest. If you pulled down the full 300GB repo then it would suffer from the same issues as a vanilla git repo. GFVS isn't really a file system like NTFS or ext3. It's a way to work with a subset of a git repo in a flexible manner (not submodules).
- jschrf 10y agoExactly. GVFS is not a filesystem based on Git.
- shakna 10y agoCould this be integrated with Windows for a more streamlined experience though? Use GVFS instead of Windows Updates when you need a new driver or the latest .Net framework. Windows itself is already in a giant git repo, only pull the features you need? A smaller OS could remove some of the pain points of small SSDs and the like with cheap consumer devices, and Windows Updates can be rather finnicky at times.
- ploxiln 10y agoEmbrace and Extend, anyone? (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...)
- Ezhik 10y agoCan we just get a bot that posts EEE on every article about Microsoft? Seriously, every damn time.
- ploxiln 10y agoIt's the first time I've posted it, and I think it's more appropriate for this story than others in recent memory. I'm also pretty sure I haven't seen it on the many VSCode stories (and I have "showdead" enabled).
- sdesol 10y agoI've been studying the SCM war with great interest and I like to think of myself, as an impartial observer, from a Git hosting point of view. Since my product is built around Git and not Git hosting, it doesn't really matter to me, who (GitHub, GitLab, Microsoft, etc.) wins the Git hosting war. The only thing that matters for me, is Git gaining greater mind share in Enterprise. And I think Microsoft's flurry of activity in the Git hosting world, is not them trying to embrace it, so they can extinguish it. But rather, it's them trying to ensure they don't lose relevance. In the past, when we had SCM diversity (ClearCase, Perforce, Subversion, Git, etc.), companies who managed the SCM technology, controlled the software development life cycle. However, with Git, where there is no owner, you can't control the software development life cycle, like you use to. Microsoft embracing Git like they are, is just them flexing their vast technical and financial resources, so they can get people to migrate to their ecosystem. They know they can't extinguish Git, and since they can't dictate how Git evolves, their next best option is to make working with Git better in their world.
- deelowe 10y ago2002 was over 10 years ago. This meme has run it's course. It's pretty clear MS has a different strategy these days, which makes sense. The market is totally different.
- harry8 10y ago
- whatnotests 10y agoI recall that for Windows "Longhorn" they were supposed to include a file system based on SQL Server. Never happened. We ended up with "Vista" instead. Maybe they've learned their lessons on that. 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. Having the ability to easily switch between versions of my operating system could possibly be great. git checkout -b upgrade/service-pack-12 # ...trying things... # ..decide it was a terrible idea... git reset --hard git checkout - # phew!
- sho_hn 10y agoYou can do that with btrfs snapshots and letting your package manager snapshot the fs on every transaction. Then just boot into an older snapshot. There's also etc-keeper for keeping /etc & co in a git repo for a partial approach.
- espadrine 10y agoIt is such an appealing problem that it is solved many, many times. There is LVM snapshotting, tar backup restoring; btrfs is probably the most adequate. But GVFS feels more like the spiritual child of git and Dropbox Smart Sync (formerly Infinite).
- fnord123 10y agoDropbox Smart Sync is the child of Cloud Storage Gateways: https://en.wikipedia.org/wiki/Cloud_storage_gateway https://en.wikipedia.org/wiki/Cloud_storage_gateway
- deleted 10y ago[deleted]
- danieldk 10y agoFreeBSD provides this with boot environments: https://www.freebsd.org/cgi/man.cgi?beadm https://www.freebsd.org/cgi/man.cgi?beadm
- 10y ago
- qarioz 10y agoGVFS stands for GNOME Virtual file system since 2007. Looking at you Microsoft.
- sho_hn 10y agoNot sure why you're being downvoted. That's indeed what gvfs commonly stands for in industry. It's a poor and confusing name choice.
- woof 10y agoOutside the "industry" (aka the small world of GNOME and KDE), GVFS is not commonly known at all. For the Gnome community this might be both poor and confusing, for the rest of us it's ... meh.
- comex 10y agoI 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.
- kyrra 10y agoSomeone at Google created an unofficial project that does something similar to GVFS. It's a bit more limited as it was focused around Android's use case, but it seems like it could be a good base? https://github.com/google/slothfs https://github.com/google/slothfs
- jpsim 10y agoIt's a little funny that GVFS itself is hosted on GitHub which means you won't be able to pull it as a GVFS repo.
- Stratoscope 10y agoThat makes perfect sense; they want the code to be where the people are. And the GVFS repo doesn't have the problems GVFS tries to solve. The current .git directory is only 425KB. You could put three copies on a floppy disk!
- ekidd 10y agoFrom the article: > 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. 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. 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. 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.
- LeifCarrotson 10y ago> 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. Correct. But both Google and Microsoft use this method. And I'm sure they've put in a lot more man-years of investigation into it than you and I have!
- mjn 10y agoGoogle reportedly [1] also uses a virtual filesystem (FUSE-based, in their case) to let individual clients get a convenient/efficient view into their giant monorepo. Microsoft looks like they're doing something very similar here, except building their vfs/monorepo solution on top of git and open-sourcing it (Google's is built on top of an in-house VCS called Piper). [1] http://cacm.acm.org/magazines/2016/7/204032-why-google-stores-billions-of-lines-of-code-in-a-single-repository/fulltext http://cacm.acm.org/magazines/2016/7/204032-why-google-store...
- bluejekyll 10y ago
- koolba 10y agoAnybody know what CLI the Microsoft git users use on Windows? The few times I've tried using GitBash it's been very slow. Not unworkable, but painfully slow.
- trentnelson 10y agoThe WSL git. I used to use the cygwin git, but WSL is much faster. I use quirky ssh hostnames (gh:tpn/foo) + keychain/agent stuff so it's better suited to WSL/cygwin than the native Windows git via cmd.exe/PowerShell.
- pjob 10y agoI use cmder to host cmd.exe processes. Definitely worth a try if you are looking for console emulators on Windows. http://cmder.net/ http://cmder.net/