[announce] Sharebox, a FUSE filesystem relying on git-annex
dieter at plaetinck.be
Sun Apr 3 22:51:28 CEST 2011
On Sun, 3 Apr 2011 11:18:05 -0400
Joey Hess <joey at kitenet.net> wrote:
> Dieter Plaetinck wrote:
> > I think having support for this in git-annex would be very useful,
> > even if it's not that efficient: if this can be dealt with in
> > git-annex, individual "higherlevel" projects like sharebox and
> > dvcs-autosync have less headaches. Not to mention
> > sharebox/dvcs-autosync would need to do really inefficient things to
> > deal with it anyway. (because they can't involve themselves into the
> > actual git/dvcs tricks, they work on a higher level of abstraction),
> > and it might also benefit some users who work with git-annex manually.
> > How do you see this? How hard/cumbersome is it to implement this in
> > git-annex? Why is it inefficient? It's not really clear to me after
> > reading the smudge information on
> > http://www.kernel.org/pub/software/scm/git/docs/gitattributes.html
> > > if toobig
> > > then git_annex_add file
> > > else git_add file
> > > git_commit file
> > unfortunately I don't think so:
> > - with dvcs-autosync we often commit "early", as in, the file could still be in the process of being written to, or it could be modified again after we added it.
> > From what I understand, we would need to forbid our users from changing the file after it is added to git-annex, and worse: if git-annex does its "move file, replace file with symlink" trick, while the user is writing to it, this might break things.
> You're right. However, you would also not want to commit many partial
> versions of a large file as it was being written.
Well, if it ever happens once, that's once too many.
Since we're aiming for a dropbox-like near-instant-synchronisation system, the way of working is different then when using git for , say.. version controlling source code. So it _will_ happen that we commit versions of files as they are in the progress of being written. Even if the user decides to store something like a continuously being updated logfile in his dropbox-like system, I want to be able to support that.
More information about the vcs-home