[Owncloud] Version Control Ideas/Issues

Craig Roberts craig0990 at googlemail.com
Tue Oct 11 15:48:57 UTC 2011


Hi all,

I've been looking into how version control systems work: I may have
underestimated their complexity slightly. The more I look into it, the
more overlap there is between backup, version control and
synchronisation.

Git is excellent for lots of small files. Git-annex provides a
workaround for large files (without version history, implemented in
Haskell). Bup provides efficient Git usage for large files by
'chunking' them into 8K blocks (which leaves you with millions of
little files instead of your `ubuntu.iso` file). Bup also eventually
hits issues with lots of large files, is still in development, but
provides a Git-compatible repository (glip is a Git PHP library, so
this might be an approach to take).

Alternatively, efficient backup of small and large files is
well-documented with rsync-like algorithms (Bup uses a variation of
this to fix Git's handling of large files). The problem is reconciling
the two: large file support, with roll-back/undo support. Nobody seems
to have done it; you can only have one or the other.

So before I get too bogged down in the details: what does ownCloud
want? Personally, my use case would mostly be small files, with a
smaller collection of large files (movies, high-quality music, etc.).
I'd want these to be synced to my laptop/desktop, with version history
available through ownCloud if I want it (I don't want all my history
on my laptop, even though it would probably fit). I am not the
ownCloud community though, so am I making any assumptions I shouldn't
be? What functionality is required and what would be nice-to-haves?

I will be in IRC this evening at some point, and most of tomorrow.

Thanks,
-- Craig

P.S. I've started a blog (http://craig0990.wordpress.com) that details
what I'm looking at, how I think it works and why that might be an
issue



More information about the Owncloud mailing list