You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2014/09/18 11:48:42 UTC

svn commit: r1625929 - in /subversion/branches/move-tracking-2/subversion: include/private/svn_editor3.h libsvn_ra/ra_loader.c

Author: julianfoad
Date: Thu Sep 18 09:48:41 2014
New Revision: 1625929

URL: http://svn.apache.org/r1625929
Log:
On the 'move-tracking-2' branch: fix an editor shim callback problem.

The fetcher is only supposed to fetch regular props, but this one was
including 'entry props'. This was not causing a problem so far, but would do
so later if not fixed.

* subversion/include/private/svn_editor3.h
  (svn_editor3__shim_fetch_func_t): Document that only regular props should
    be included.

* subversion/libsvn_ra/ra_loader.c
  (fetch): Remove non-regular props.

Modified:
    subversion/branches/move-tracking-2/subversion/include/private/svn_editor3.h
    subversion/branches/move-tracking-2/subversion/libsvn_ra/ra_loader.c

Modified: subversion/branches/move-tracking-2/subversion/include/private/svn_editor3.h
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/include/private/svn_editor3.h?rev=1625929&r1=1625928&r2=1625929&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/include/private/svn_editor3.h (original)
+++ subversion/branches/move-tracking-2/subversion/include/private/svn_editor3.h Thu Sep 18 09:48:41 2014
@@ -1436,7 +1436,8 @@ svn_editor3__get_debug_editor(svn_editor
  *
  * Implementations should set @a *props to the hash of properties
  * associated with @a repos_relpath in @a revision, allocating that hash
- * and its contents in @a result_pool.
+ * and its contents in @a result_pool. Only the 'regular' props should be
+ * included, not special props such as 'entry props'.
  *
  * Implementations should set @a *filename to the name of a file
  * suitable for use as a delta base for @a repos_relpath in @a revision

Modified: subversion/branches/move-tracking-2/subversion/libsvn_ra/ra_loader.c
URL: http://svn.apache.org/viewvc/subversion/branches/move-tracking-2/subversion/libsvn_ra/ra_loader.c?rev=1625929&r1=1625928&r2=1625929&view=diff
==============================================================================
--- subversion/branches/move-tracking-2/subversion/libsvn_ra/ra_loader.c (original)
+++ subversion/branches/move-tracking-2/subversion/libsvn_ra/ra_loader.c Thu Sep 18 09:48:41 2014
@@ -776,6 +776,7 @@ fetch(svn_node_kind_t *kind_p,
 {
   struct fb_baton *fbb = baton;
   svn_node_kind_t kind;
+  apr_hash_index_t *hi;
 
   SVN_ERR(svn_ra_check_path(fbb->session, repos_relpath, revision,
                             &kind, scratch_pool));
@@ -805,6 +806,19 @@ fetch(svn_node_kind_t *kind_p,
       SVN_ERR(svn_ra_get_dir(fbb->session, repos_relpath, revision,
                              NULL /*dirents*/, NULL, props_p, result_pool));
     }
+  /* Remove non-regular props */
+  if (props_p)
+    {
+      for (hi = apr_hash_first(scratch_pool, *props_p); hi; hi = apr_hash_next(hi))
+        {
+          const char *name = apr_hash_this_key(hi);
+
+          if (svn_property_kind2(name) != svn_prop_regular_kind)
+            svn_hash_sets(*props_p, name, NULL);
+
+        }
+    }
+
   return SVN_NO_ERROR;
 }