Bob Miller <kbob@jogger-egg.com> writes:
> It is my understanding that in subversion the vdelta is generated on
> the client side, somewhere in libsvn_delta, and the server simply
> stores whatever the client gives it. Is that true, or does the server
> apply the vdelta and have both revs to look at and potentially
> recalculate the vdelta?
The latter, because the server stores reverse vdeltas -- in other
words, the most recent version of a file is stored in fulltext, and
then there is a reverse delta chain going backwards.
So both client and server need to be able to generate and apply
vdeltas.
> One thousand years ago, when mainframes walked the earth, Walter Tichy
> made a big deal about how clever RCS was to store the most frequently
> requested version and calculate other versions relative to that one.
> Is subversion doing that? If so, it must have to calculate inverse
> deltas.
That'll teach me not to read the second paragraph before replying to
the first. :-)
Yes, that's exactly what Subversion is doing.
> The reason this comes up is that we're talking about cvs2svn
> outputting XML that includes a vdelta. I'm wondering if I can get
> lazy and just write a vdelta that says, "replace the whole file with
> this whole new file", without bloating the database.
Well, sure. It won't affect the database, but you'll have really big
XML files. Nonetheless, it seems like a good laziness for now, with
the understanding that it should use real vdeltas later.
Received on Sat Oct 21 14:36:09 2006