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

RE: How to get a delta stream?

From: Daniel Berlin <dberlin_at_dberlin.org>
Date: 2005-06-30 16:46:17 CEST

On Thu, 2005-06-30 at 09:36 +1000, William Ferguson wrote:
> Thanks Ben,
> yes I could use svn_ra_get_file to retrieve streams to both Revisions,
> create an svn_txdelta_stream_t from the two, svn_txdelta_to_svndiff to get
> the appropriate diff handler and then svn_txdelta_send_txstream to produce a
> stream of the delta. Thats my current fallback position.
> I was just wondering whether there was a way to get the delta without having
> to retrieve a full content stream for the start and end Revision.

What do you mean?
It generates the deltas as it processes the content stream.
It doesn't read both entire streams in, then generate deltas.
You get the delta windows as it processes the stream.

If you are asking "how do i get the delta stream between the two
revisions" from the repository, the answer is "that delta stream may not
exist in the repository", because it depends on whether we are talking
bdb or fsf.

> Ie I'd
> rather just work from the interesting Revisions if possible, since some of
> the files could be quite large. For instance I thought it might be possible
> to generate the delta during the call to svn_ra_get_file_revs, but I can't
> work out what svn_delta calls I should make inside the
> svn_ra_file_rev_handler_t in order to push that Revision's delta into the
> stream. Any ideas?

get_file_revs simply does the following:

Find interesting revisions.

Generate start stream using fulltext of first interesting revision.
For each other interesting revision:
        generate delta against previous stream.

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Jun 30 18:26:01 2005

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.