You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Josh Rowe <Jo...@DynamicOps.com> on 2008/03/21 16:58:41 UTC

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

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?

jmr