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

FW: Differences in neon add_directory w/ copy vs. local add_directory w/ copy

From: Josh Rowe <Josh.Rowe_at_DynamicOps.com>
Date: Fri, 21 Mar 2008 21:39:58 -0500

I originally sent this to the "users" list, but it may be a little bit more in-depth than that list's target audience. I apologize if I am breaking any mores.


I've been writing code against the svn_delta_editor_t interface, and I've noticed that in Svn 1.4.6, the libsvn_ra_dav and libsvn_ra_local handle add_directory w/ copy differently. In libsvn_ra_local, copying to an existing target results in an error. In libsvn_ra_dav, calling add_directory w/ copy overwrites the target. I prefer the libsvn_ra_local behavior, but I can't find any way to make this happen with libsvn_ra_dav.

My tests make the same sequence of svn repository calls, just one set is against a local (file:///...) repository and the other against a remote (http://...) repository. I would've expected the same results from both sequences, but I noticed the above difference in behavior.

Is this something anyone else has seen? Is this expected behavior? I noticed the following in libsvn_ra_dav/commit.c:

      /* Have neon do the COPY. */
      status = ne_copy(parent->cc->ras->sess,
                       1, /* overwrite */
                       NE_DEPTH_INFINITE, /* always copy dirs deeply */
                       copy_src, /* source URI */
                       child->rsrc->wr_url); /* dest URI */

Is the "1" for "overwrite" the issue? I also noticed that Svn 1.5 doesn't do things quite the same way. Unfortunately, I was unable to locate an issue report about this to determine whether it fixes this problem or not.

Thank you!

Received on 2008-03-22 03:40:22 CET

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