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;
}