Chia-liang Kao <clkao@clkao.org> writes:
> I just updated svn to r7776, and found ra_dav seems to generate
> additional apply_textdelta calls.
>
> I tested with a simple perl script trying to have the tree delta between
> r7778 and r7779 of the svn repository:
>
> my $ra = SVN::Ra->new(url => 'http://svn.collab.net/repos/svn/trunk',
> auth => $auth,
> pool => SVN::Pool->new,
> config => $config);
>
> my $editor = SVN::Delta::Editor->new (_debug => 1);
> my $reporter = $ra->do_update (7779, undef, 1, $editor);
> $reporter->set_path ('', 7778, 0);
> $reporter->finish_report ();
>
> with 0.32.1 I got the normal editor calls (see first attachment). but
> with the trunk build, I get an additional apply_textdelta with empty
> base digest before the expected apply_textdelta with correct base
> digest. I think this might be caused by the recent ra_dav improvements.
I think this is the fix. Can you verify?
Index: subversion/mod_dav_svn/update.c
===================================================================
--- update.c (revision 7779)
+++ update.c (working copy)
@@ -955,8 +955,10 @@
file->text_checksum = apr_pstrdup(file->pool, text_checksum);
- /* if we added the file, then no need to tell the client to fetch it */
- if ((! file->added) && file->text_changed)
+ /* If we are not in "send all" mode, and this file is not a new
+ addition or didn't otherwise have changed text, tell the client
+ to fetch it. */
+ if ((! file->uc->send_all) && (! file->added) && file->text_changed)
{
const char *elt;
elt = apr_psprintf(pool, "<S:fetch-file%s%s%s/>" DEBUG_CR,
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Nov 17 19:27:13 2003