[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Students' Project seeks help

From: Hyrum K Wright <hyrum.wright_at_wandisco.com>
Date: Tue, 26 Jul 2011 13:34:03 -0500

On Tue, Jul 26, 2011 at 11:12 AM, Tom Widmer <tom.widmer_at_gmail.com> wrote:
> On 25/07/2011 14:25, Jan Peters wrote:
>>
>> Hi there,
>> we are a follow-up project to a student's group at Ruhr-University
>> Bochum, Germany, which tried to integrate a functionality into
>> Subversion to allow users to encrypt all their data on the client-side,
>> before committing and to decrpyt while updating.
>
> If I understand you correctly, I have a feeling that this is fundamentally a
> bad idea, since Subversion stores data using diffs. Since encrypted data
> looks identical to random binary data, all diffs will necessarily be as
> large as the file being committed (or 2x the size possibly: 1x to remove the
> old file + 1x to add the new file).

Slight correction here: the size of a delta is not proportional to the
amount of data being "removed" by the delta. Since deltas in
Subversion are one-way, removed content is not stored in the delta
itself. Instructions to "remove N bytes from offset X" have pretty
much a constant storage cost, so it doesn't matter how much data is
being removed by the delta. (In the above example, you'd need at most
some overhead plus the new file contents. In practice, though,
Subversion would notice the delta is larger than the fulltext, and
just store the full text instead.)

-Hyrum

-- 
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com/
Received on 2011-07-26 20:34:38 CEST

This is an archived mail posted to the Subversion Dev mailing list.