Author: hwright
Date: Thu Apr 12 21:07:28 2012
New Revision: 1325516

URL: http://svn.apache.org/viewvc?rev=1325516&view=rev
Log:
Ev2 shims: Make sure we rel-pathify the value provided in the copyfrom_url when
fetching the props from the shim callbacks.  This should fix the last of the
relpath-related Ev2 test failures.

* subversion/libsvn_delta/compat.c
  (build): Calculate the correct relpath for interacting with the shim props
    callback.

Modified:
    subversion/trunk/subversion/libsvn_delta/compat.c

Modified: subversion/trunk/subversion/libsvn_delta/compat.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_delta/compat.c?rev=1325516&r1=1325515&r2=1325516&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_delta/compat.c (original)
+++ subversion/trunk/subversion/libsvn_delta/compat.c Thu Apr 12 21:07:28 2012
@@ -1281,10 +1281,21 @@ build(struct editor_baton *eb,
       if (operation->operation == OP_REPLACE)
         current_props = apr_hash_make(scratch_pool);
       else if (operation->copyfrom_url)
-        SVN_ERR(eb->fetch_props_func(&current_props, eb->fetch_props_baton,
-                                     operation->copyfrom_url,
-                                     operation->copyfrom_revision,
-                                     scratch_pool, scratch_pool));
+        {
+          const char *copyfrom_relpath;
+
+          if (eb->repos_root)
+            copyfrom_relpath = svn_uri_skip_ancestor(eb->repos_root,
+                                                     operation->copyfrom_url,
+                                                     scratch_pool);
+          else
+            copyfrom_relpath = operation->copyfrom_url;
+
+          SVN_ERR(eb->fetch_props_func(&current_props, eb->fetch_props_baton,
+                                       copyfrom_relpath,
+                                       operation->copyfrom_revision,
+                                       scratch_pool, scratch_pool));
+        }
       else
         SVN_ERR(eb->fetch_props_func(&current_props, eb->fetch_props_baton,
                                      svn_relpath_join(eb->base_relpath,


Reply via email to