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