5 ms·
Show HN: Hubfs – File System for GitHub
- billziss 5y agoHUBFS 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.
- pwdisswordfish9 5y agoOr you could, you know, clone the repository into a local working tree.
- gravypod 5y agoThat 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.
- westurner 5y agoIsn't there already a good way to push computation closer to the data? GmailFS and pyfilesystem (userspace FUSE) and rclone are neat as well. https://stackoverflow.com/questions/1960799/how-to-use-git-and-dropbox-together/32215708#32215708 https://stackoverflow.com/questions/1960799/how-to-use-git-a... explains about the `git push` step that git-remote-dropbox enables: https://github.com/anishathalye/git-remote-dropbox https://github.com/anishathalye/git-remote-dropbox
- bspammer 5y agoGitHub also has a code search now: https://cs.github.com https://cs.github.com
- gravypod 5y agoNeeding 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.
- westurner 5y agoRunning the code where the data already is saves network transfer: with data locality, you don't need to download each file before grepping. Locality_of_reference#Matrix_multiplication explains how the cache miss penalty applies to optimizing e.g. matrix multiplication: https://en.wikipedia.org/wiki/Locality_of_reference#Matrix_multiplication https://en.wikipedia.org/wiki/Locality_of_reference#Matrix_m...
- throwra620 5y ago
- VWWHFSfQ 5y agoSnarky drive-by comments like this are the worst part of HN.
- ranger_danger 5y agothat's why lobste.rs was created.
- replwoacause 5y agoAny chance you have an invite and are feeling generous?
- cle 5y agoStop for a moment and consider what the tradeoffs of that could be and why it might not work well in some situations.
- pwdisswordfish9 5y ago- Higher latency - Less efficient use of bandwidth, as the git protocol is optimised for bulk transfers - Not resilient against unreliable connectivity - No support for repositories not hosted on GitHub Yes, I can think of some.
- pizza 5y agoHave 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. [0] https://news.ycombinator.com/item?id=9224 https://news.ycombinator.com/item?id=9224
- andrew_ 5y agoI'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.
- tedunangst 5y agoI 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.
- amelius 5y agoDoes it support snapshots?
- deleted 5y ago[deleted]
- gillesjacobs 5y agoSo this is allowing remote git repositories to be treated as a regular filesystem. I really cannot think for good use-cases for this. Maybe to use existing file-based indexing and search tools? I must be missing prime use-cases here.
- int_19h 5y agoBrowsing 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...
- rubyist5eva 5y agoJust………clone the repo?
- int_19h 5y agoYes, and then locate the correct file in it etc. Or, we could just have the computer do it all for us.
- mfbx9da4 5y agoLike ssh into your server with GitHub actions
- edjw 5y agoYour company keeps some things on GitHub but not everyone in the company wants to learn git, the command line, the concepts around git.
- lostintangent 5y agoVery 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. Any plans to add support for gists to Hubfs?
- turbocon 5y agoGists are just repos under the hood, it should work natively.
- lostintangent 5y agoYeah 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.
- emptyparadise 5y agoThis 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.
- klavinski 5y agoIf you are signed in, you can hit '.' on your keyboard when browsing a GitHub repo to open it in VS Code in your browser.
- adibalcan 5y agoI do not understand what problem solves
- deleted 5y ago[deleted]