TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Gitfs – mount Git repos as local folders

196 pointsby vtemianover 10 years ago

20 comments

hardwaresoftonover 10 years ago
I think this kind of file system would do well to power platforms that AREN&#x27;T for programmers. While this may not seem useful for programmers (because they are so involved in git usage in the first place), I think others might benefit<p>I&#x27;ve had the idea to make an interative design&#x2F;architecture plugin for programs like photoshop&#x2F;3dmax&#x2F;etc rolling around in my head for a while now. Git is a perfect way to store&#x2F;save the progress people make in those programs (as files change over time, or as they save), and gitfs seems like it would be the fs to run on the backing server.<p>Instant branching (like when an artist decides to riff on a new idea), undo&#x2F;rollback, progress tweens&#x2F;reports.
评论 #8736489 未加载
评论 #8740325 未加载
评论 #8739297 未加载
评论 #8739435 未加载
btownover 10 years ago
Does it batch changes, i.e. if 5 files are saved within a few seconds of each other?<p>It would also be interesting if that was combined with naming commits based on language processing (i.e. splitting on camel case and snake case, finding the word whose frequency in the current diff is most different from its frequency in the codebase overall). Then you could have human-readable history without any conscious need to maintain it - and this would be developer-friendly, just Save All in Sublime Text and fuhgettaboudit.
评论 #8736454 未加载
dflockover 10 years ago
This seems very similar to SparkleShare: <a href="https://github.com/hbons/SparkleShare" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;hbons&#x2F;SparkleShare</a>
whoisthemachineover 10 years ago
This seems nice as something that sits as a layer over any typical file system, giving a user basic version control without extra effort.
zackmorrisover 10 years ago
This is reminiscent of Apple&#x27;s Time Machine, except each save is the same as manually clicking &quot;Back Up Now&quot;, and I assume that commits are more granular so directories can be committed individually rather than the whole tree.<p>I&#x27;ve often wondered if version control systems could be abstracted into a filesystem where each write is a commit, handling merges by choosing the local copy.<p>My primary dissatisfaction with git is that it lacks layers of abstraction. For example it should have had at least the first two distinct components listed below, something like:<p>1) git-fs (versioned filesystem, only supporting commit, clone and permissions)<p>2) git-merge (diff utility to handle merge conflicts)<p>3) git-local (two repositories wrapped in an abstraction to provide local and remote - the special sauce of git)<p>4) git-util (everything else like repair, reports, statistics, etc)<p>5) git (umbrella executable above previous layers)<p>I’m not super familiar with git console use so if it already is organized this way, great. But since it is not presented this way in its documentation, I feel that a great opportunity has been missed. We could have used git-fs the same way that people use Dropbox. Instead we have something with a lot of warts (things like .gitignore files interspersed with other files that continue the same mistakes that cvs and svn made, and the inability to save empty directories). I think git’s pattern of pull&#x2F;commit&#x2F;push is fantastic, but its shortcomings are so numerous that I’m going to stop knocking it right here before I get myself in trouble.<p>If gitfs ran on the Mac, I’d probably be using it right now to avoid frequent headaches where git interferes with the simplest pattern of pulling, merging by hand and pushing all files back if nobody else has committed in the meantime. I think that’s the motivation behind a library like this, because so many version control systems get the filesystem metaphor wrong and create two much friction by touting their various levers.
评论 #8741418 未加载
seppo0010over 10 years ago
Nice. It looks like something I tried a while ago, but never got it stable enough for someone to actually use: <a href="https://github.com/seppo0010/gitfuse" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;seppo0010&#x2F;gitfuse</a>
filmorover 10 years ago
Awesome, I have been looking for something like this for ages. I have already two use-cases:<p>1. At work we store a bunch of IPython notebooks in a git repository (with a hook to strip them from any output and other non-essential varying data). Up until now I had to manually or via a scheduled task run &quot;git -A; git commit -m &#x27;Current State.&#x27;&quot; on regular intervals.<p>2. I&#x27;m so gonna use this for my portage-tree, which is taking up a lot of disk-space on my SSD :).
illumenover 10 years ago
This might be nice for places where people can&#x27;t figure out git.<p>I hope it puts &quot;update&quot; as the commit message ;)
评论 #8736234 未加载
wyldfireover 10 years ago
The triumphant return of clearcase‽
评论 #8740414 未加载
kasabaliover 10 years ago
Looks to have a similar use case scenario in mind with <a href="https://github.com/commandline/flashbake" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;commandline&#x2F;flashbake</a>, but implemented in a different way. Hopefully it takes off.
rco8786over 10 years ago
How does it handle merge conflicts?<p>Seems like an interesting idea, my concern would be that the abstraction of a filesystem on top of git would break down really quickly once multiples users started editing things.
评论 #8737089 未加载
tughirinover 10 years ago
Why would somebody use such a file system? To make life easier when working with configuration files? I wish they also described their motive for creating it.
评论 #8736290 未加载
Igglybooover 10 years ago
Is this an alternative to cloning a repo and pushing changes or is this supposed to be used as a full filesystem? I don&#x27;t quite understand the blurb.
评论 #8736222 未加载
Jasitisover 10 years ago
How is it different from SSHFS.Given that both are FUSE &amp; give nearly same functionality. as in sudo autosshfs-user add $(id -un)
bborehamover 10 years ago
What&#x27;s the performance like? That was always the downside of Clearccase - all the indirecting slugged the machine.
评论 #8737131 未加载
baldfatover 10 years ago
Besides its use for the work flow for a single person developing an app I fail to see the case for this system.
评论 #8736412 未加载
grizzlesover 10 years ago
Wow this is really cool. Too bad it&#x27;s Ubuntu only. Is anyone working on getting it running on Fedora?
评论 #8737388 未加载
lemoncucumberover 10 years ago
I misread the title as GIF FS. I can only imagine what that would consist of...
评论 #8738201 未加载
buddy_tuckerover 10 years ago
I think I hear my dotfiles calling :)
motyarover 10 years ago
How to install it?