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

Re: Implementing XML-versioning?

From: Paul de Vrieze <pauldv_at_gentoo.org>
Date: 2004-10-01 23:31:41 CEST

On Friday 01 October 2004 21:17, Ben Reser wrote:
> >
> > For two reasons the answer might be no:
> > 1. OOo files are a zip archive containing several xml-files.
> > 2. OOo uses XML files without any white spaces or newlines. If you apply
> > GNU diff on such a file, it marks all the file (which consists of only
> > one line) as updated. According to this, the delta has twice the size of
> > the original file. I don't know, whether svndiff performs better.
>
> svndiff is a binary difference. Whitespace and CR/LF have no relevence
> to how it determines a differece. You could have no whitespace or
> whitespace and the difference in svndiff size will be negliable.
>
> Now the zip compression will ineed probably make svndiff behave poorly
> for keeps lots of history of OOo files. Simply because even a small
> change in a file will produce large differences in the compressed copy
> of it.
>
> While we could use less storage by using different delta algorithms for
> different types of data it would be at the cost of significantly more
> complexity. I seriously doubt that it's worth it. One of the mantras
> of this project is that disk space is cheap. The effort to implement
> content specific deltas is far more expensive in terms of actual
> implemention, maintenance and operation than buying more disk space
> would be.

I basically agree, although it might be nice to do compression aware diffing.
The only sensible way to implement would be through some kind of plugins.
These plugins should then perform the compression decompression. Probably
this could even be done client side conditionally dependend on a property
(binary stability is not guaranteed).

Paul

-- 
Paul de Vrieze
Gentoo Developer
Mail: pauldv@gentoo.org
Homepage: http://www.devrieze.net

  • application/pgp-signature attachment: stored
Received on Fri Oct 1 23:31:56 2004

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