Greg Hudson <ghudson@MIT.EDU> writes:
> libsvn_repos's svn_repos_dir_delta() accepts a text_deltas parameter
> which controls whether or not text deltas are generated.
>
> As far as I know, the only reason for this parameter is so that we can
> use it for a "status" operation without the overhead of text deltas.
>
> But the parameter is not necessary for this purpose; a status editor
> returns a NULL handler from apply_textdelta. So the text_deltas
> parameter would appear to be redundant. (And dangerous; if an editor
> requests deltas and doesn't get them, or vice versa, than something
> is likely to go wrong.)
>
> Does anyone know a reason why I can't nuke it? If nobody can remember
> why it's there, I'm sure the test suite will tell me if there's a
> real reason for it.
mod_dav_svn heavily depends on this feature, I think.
ra_dav's implementation of RA->do_update, RA->do_switch, and
RA->do_diff all essentially do the same thing: a custom deltaV REPORT
request is sent: "please compare rev1/path1 with rev2/path2".
When mod_dav_svn receives this request, I believe it invokes
svn_repos_dir_delta() with the "no text deltas" option. The response
sent back to the client is essentially a "skeletal" editor drive from
_dir_delta(). The client parses this skeleton, and does an HTTP GET
requests whenever it sees an add_file() or open_file().
But what you say is true, Greg; I don't see why mod_dav_svn couldn't
just return a NULL apply_textdelta handler. Let's see what cmpilato
and gstein say about this.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon May 26 04:35:50 2003