HUBFS is a file system for GitHub and Git. Git repositories and their contents are represented as regular directories and files and are accessible by any application, without the application having any knowledge that it is really accessing a remote Git repository. The repositories are writable and allow editing files and running build operations.
Have you ever read this HN comment from 2007 before? [0]
> I have a few qualms with this app...
Different paths towards the same outcome should multiply, so we can increase the surface area of the bandages on the different pain points along the way.
That works well for small repos or a few repos but if you want to find all cc files, at all release branch's, in your entire company and check for some exploit it is helpful to have a VFS. Makes it so you could also support N SCMs through one API. You just need to make a new VFS.
Needing to tie into a specific API (like codesearch) couples you to the specific storage backend (Github). If you build your software to operate on a POSIX-y file system, you can support anything that shows up as a file system. For example: A local working tree of files, an NFS share, or now a remote git repository.
I've often thought of using git/github as a document store to replace google drive. I might experiment with this and rsync to see if that makes it possible.
Browsing source code of third party libraries that you're using?
This could be especially nice with some debugger integration, if you could just step into a library function, and have the corresponding file opened via hubfs...
Very cool! I love using GitHub repos and gists for managing my personal notes/code snippets, and currently use GistPad as an editor-level virtual file system (for VS Code). But having an OS-level equivalent is _super_ useful.
Yeah good point! Though I was also thinking about the ability to easily create/edit/delete gists, by means of file system operations. For example, it would be pretty cool if you could create a directory in some “gists” mount point, and have it transparently create a gist for it. Then, as you add/edit/delete files in that directory, those changes are reflected in the gist’s repo.
I don't think the filtering they mention for security actually works? Anybody who clones a repo on GitHub can make their own commits appear under the original org url when accessed by ref.
This is cool. I often want to open random files from random GitHub repos in a proper text editor but can't be bothered to pull the whole repository just for that.