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

Re: [PATCH] diff/merge -r N:M URL over ra_rav performance

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2003-08-02 19:06:38 CEST

Chia-liang Kao <clkao@clkao.org> writes:

> Make svn diff/merge -r N:M retrieve N as fulltext and M as delta
> over ra_dav. This saves the bandwidth and speeds up 30-50%
> depending on change size and network speed.
>
> * libsvn_ra_dav/fetch.c:
> (svn_ra_dav__do_*): pass in new reporter baton field
> "always_delta".
> (custom_get_request): take computed delta_base.
> (simple_fetch_file): take baserev, generate delta_base
> url if baserev is valid, otherwise use get_delta_base.
> (svn_ra_dav__get_file): adjust parameter for
> custom_get_request.
> (start_element):
> (ELEM_open_directory): store baserev in current dir_item.
> (ELEM_fetch_file): call simple_fetch_file with baserev
> if always_delta is set.
> (end_element: ELEM_add_file): adjust parameter for
> simple_fetch_file.

Chia-liang and I had a chat about this in IRC. I told him that his
patch would be instantly rejected, because libsvn_ra_dav isn't allowed
to artifically construct version-resource-urls. That's a major
violation of DeltaV.

Instead, I suggested a new strategy: have the repos-diff-editor use
the first RA session to fetch a fulltext (RA->get_file(), and also
capture the VR-URL property that comes back. Then make that VR-URL
available to the 2nd RA session via a get-wc-prop callback.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Aug 2 19:09:30 2003

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

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