Live data from Hacker News

Show HN: Gitfs – mount Git repos as local folders

presslabs.com

21–30 of 63 posts

Re: Show HN: Gitfs – mount Git repos as local folders

#21
post #19

Does it batch changes, i.e. if 5 files are saved within a few seconds of each other? 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 m…

Yes, it batches changes. Improving the commit messages is in the pipeline and what you have described sounds interesting. Right now the focus is to get the right semantics for git operations in the context of a filesystem.

Re: Show HN: Gitfs – mount Git repos as local folders

#22

I think this kind of file system would do well to power platforms that AREN'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 I've had the idea to make an interative design/architecture plugin for programs like photoshop/3dmax/etc rolling around in my head for a while now. Git is a perfect way to store/save th…

It's my understanding that Git is pretty bad for storing binary files that change a lot since it has to keep a copy of every version of that file (whereas with plaintext it can just store the diffs). Now, maybe that's what you would want, but that repo is going to get very big very fast.

Pulls won't be so bad if your machine already has all the commits, but cloning would be a nightmare. And it'll be taking up a lot of space on your git server.

Re: Show HN: Gitfs – mount Git repos as local folders

#23
post #20
post #18

Earlier quoted context omitted.

If you work on the same file the content will get versioned like it would when you use command line git. Also you will get some sort of accountability for changes.

And the intent is that developers can access the same data via git. Right?

Yep.

Re: Show HN: Gitfs – mount Git repos as local folders

#24

I think this kind of file system would do well to power platforms that AREN'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 I've had the idea to make an interative design/architecture plugin for programs like photoshop/3dmax/etc rolling around in my head for a while now. Git is a perfect way to store/save th…

It's my understanding that Git is pretty bad for storing binary files that change a lot since it has to keep a copy of every version of that file (whereas with plaintext it can just store the diffs). Now, maybe that's what you would want, but that repo is going to get very big very fast. Pulls won't be so bad if your machine already has all the commits, but cloning would be a nightmare. And it'll be taking up a lot o…

You are right about large binary files and gitfs currently has an option limiting the maximum file size.

Re: Show HN: Gitfs – mount Git repos as local folders

#25

I think this kind of file system would do well to power platforms that AREN'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 I've had the idea to make an interative design/architecture plugin for programs like photoshop/3dmax/etc rolling around in my head for a while now. Git is a perfect way to store/save th…

It's my understanding that Git is pretty bad for storing binary files that change a lot since it has to keep a copy of every version of that file (whereas with plaintext it can just store the diffs). Now, maybe that's what you would want, but that repo is going to get very big very fast. Pulls won't be so bad if your machine already has all the commits, but cloning would be a nightmare. And it'll be taking up a lot o…

> (whereas with plaintext it can just store the diffs)

git stores full blobs, not deltas.

Re: Show HN: Gitfs – mount Git repos as local folders

#26

I think this kind of file system would do well to power platforms that AREN'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 I've had the idea to make an interative design/architecture plugin for programs like photoshop/3dmax/etc rolling around in my head for a while now. Git is a perfect way to store/save th…

It's my understanding that Git is pretty bad for storing binary files that change a lot since it has to keep a copy of every version of that file (whereas with plaintext it can just store the diffs). Now, maybe that's what you would want, but that repo is going to get very big very fast. Pulls won't be so bad if your machine already has all the commits, but cloning would be a nightmare. And it'll be taking up a lot o…

It's not exactly plaintext versus binary. Git "stores" a copy of every file, no matter the content. But it also does "delta compression" between objects when you run "git gc"; it tries to find binary diffs between objects that are similar. So the poor performance comes from files that don't "delta" well.

These tend to be things which are compressed or encrypted, where a small semantic change can cascade into a lot of bytes changing. Of course, binary formats often do both of those things. And the larger the files, the more painful it is when it happens.

Re: Show HN: Gitfs – mount Git repos as local folders

#27

Earlier quoted context omitted.

It's my understanding that Git is pretty bad for storing binary files that change a lot since it has to keep a copy of every version of that file (whereas with plaintext it can just store the diffs). Now, maybe that's what you would want, but that repo is going to get very big very fast. Pulls won't be so bad if your machine already has all the commits, but cloning would be a nightmare. And it'll be taking up a lot o…

> (whereas with plaintext it can just store the diffs) git stores full blobs, not deltas.

I guess it depends how deep you dive... It is true that on the surface, git gives you the user access to full blobs only and calculates the difference every time you access blobs. But when you go in packfiles the content is actually diff'ed because it compresses so well.

In the context of the discussion, since we're interested in the on-disk format, it's more accurate to say that git will try to diff binary blobs, fail at that and so store the full content of blobs.

Re: Show HN: Gitfs – mount Git repos as local folders

#28
Awesome, I have been looking for something like this for ages. I have already two use-cases:

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 "git -A; git commit -m 'Current State.'" on regular intervals.

2. I'm so gonna use this for my portage-tree, which is taking up a lot of disk-space on my SSD :).

Re: Show HN: Gitfs – mount Git repos as local folders

#30

I think this kind of file system would do well to power platforms that AREN'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 I've had the idea to make an interative design/architecture plugin for programs like photoshop/3dmax/etc rolling around in my head for a while now. Git is a perfect way to store/save th…

It's my understanding that Git is pretty bad for storing binary files that change a lot since it has to keep a copy of every version of that file (whereas with plaintext it can just store the diffs). Now, maybe that's what you would want, but that repo is going to get very big very fast. Pulls won't be so bad if your machine already has all the commits, but cloning would be a nightmare. And it'll be taking up a lot o…

Very good point - however I think this is just an implementation detail of Git as it stands today.

Also, if the person is working with SVG (for example), then it's less of a problem.

Also, given the cheapness of disk, I don't think it would be a limiting cost. And since git is open source, if I were to actually make this thing, it would definitely incentivize me (or others) to make git less bad for storing binary files :)

Post reply on HN