Comments (10)
The current GvFlt EULA is a bit restrictive because GvFlt is simply not ready to ship yet, and we're not ready to make any claims about its quality, or to service it. That said, we wanted to get GVFS out there as soon as possible, and didn't feel that it made any sense to release the user mode code without at least a functioning preview of the kernel mode driver too.
That said, we're very keen to get GvFlt out there as soon as we can. We just have a few issues to sort through before we can finalize the details of how we will release it.
from vfsforgit.
Back to the original question of GvFlt source code:
GvFlt is a generic driver to support user mode file system driver extensions on Windows – there is absolutely nothing about Git in it. It’s an odd historical artifact that it’s called GvFlt and I doubt that name will endure. A year or so ago, when we settled on the basic approach for GVFS, we asked the Windows file system team to help us (we, the Git team, really aren’t experts at file system drivers and they are hard to get right). The Windows team built GvFlt for this as well as other engineering scenarios which benefit from file abstraction. To us, the Git team, we were taking a dependency on a Windows feature expecting at some point it would ship as a fully supported part of Windows.
Given the interest in seeing the source, the Windows team has said they’ll explore open sourcing it but not until they sort out how it lands in a Windows release. As we look at porting GVFS to other platforms (and we do plan to), we’ll obviously be using OS mechanisms native to those platforms – GvFlt is entirely Windows specific.
from vfsforgit.
Nope, that's not it. There's a nuget package referenced in packages.config. The package is Microsoft.GVFS.GVFlt, and it's that package that includes the .sys file.
If we're not getting the source code to the filter driver, at least give it a proper digital signature so that we can use this without enabling test signing. Requiring test signing only makes sense when we're building the driver ourselves.
from vfsforgit.
A driver that could serve as a model for a network-backed "virtual" filesystem on Windows could find applications beyond git. I don't know if this driver would necessarily serve such a role, but I feel like it could. This wouldn't completely close the weakness that Windows suffers from not having FUSE, but it would help.
from vfsforgit.
The GvFlt filter driver is currently only available as a test-signed preview. I will share more detail about when/how it will be released as soon as I know more.
from vfsforgit.
https://github.com/Microsoft/GVFS/tree/master/GVFS/GVFS.GvFltWrapper
from vfsforgit.
Huh, so this blog post describes the driver as the "moral equivalent" of FUSE and says that the Windows team is involved. Does this mean that we're going to get an extensible signed version of the driver so that we can finally have FUSE for Windows?
from vfsforgit.
Will the eventual open sourcing of the file system filter driver be under a more favorable license than the EULA currently allows (which restricts to use with GVFS or for "internal business purposes")? Specifically, I'm looking for the freedom to fork the code for non-GVFS use cases, including scenarios that may not fall under "internal business purposes."
from vfsforgit.
I bit of offtopic, still maybe relevant:
A driver that could serve as a model for a network-backed "virtual" filesystem on Windows could find applications beyond git. I don't know if this driver would necessarily serve such a role, but I feel like it could. This wouldn't completely close the weakness that Windows suffers from not having FUSE, but it would help.
Specifically, I'm looking for the freedom to fork the code for non-GVFS use cases, including scenarios that may not fall under "internal business purposes."
I may look cpt. obvious-like, but there are two other open source projects which do this + have FUSE wrappers too:
https://github.com/dokan-dev/dokany (LGPL 3.0)
https://github.com/billziss-gh/winfsp (some commecial + GPL 3.0 now)
There was also Fuse4win, but it seems defunct and found only as a snapshot:
https://github.com/freddy77/encfs4win/tree/master/fuse4win-070d3a2e43de (LGPL 3.0)
from vfsforgit.
Any news on this?
from vfsforgit.
Related Issues (20)
- Failed to upgrade: Package signature validation failed HOT 1
- Broken links for articles about the details of VFS for Git HOT 5
- FastFetch fails to delete files in some circumstances
- Unattended install hangs on GVFS.Service.UI.exe HOT 1
- Can VFS work with LFS? HOT 1
- Race condition in BatchObjectDownloadStage HOT 2
- Fetching commits and trees from cache server...Failed. HOT 7
- Azure DevOps GVFS Error
- Missing entries in context menus (on Windows)
- Consider upgrading LibGit2Sharp.NativeBinaries as they are over 3 years old
- Cache folder grows boundlessly HOT 3
- Is there any way to get Xcode's source control to support vfs git? HOT 2
- Is the licensing problematic? HOT 2
- Where does VFS For Git Mount The Repos HOT 3
- Where does VFS For Git Mount The Repos HOT 1
- VFS for Git is incompatible with Azure DevOps OAuth
- Corrupt object tests failing with latest microsoft/git version
- No more options?
- AutoMount fails when ACLs on directory are note set correctly
- Git Restore Fails with "did not match any file(s) known to git" HOT 19
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vfsforgit.