Author: hwright
Date: Wed Jan 25 12:29:38 2012
New Revision: 1235726
URL: http://svn.apache.org/viewvc?rev=1235726&view=rev
Log:
Ev2 shims: When replacing a node, don't use the old properties.
Current number of Ev2 test failures: 32
* subversion/libsvn_delta/compat.c
(process_actions): Use an empty initial props hash on a replace.
(build): Same.
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=1235726&r1=1235725&r2=1235726&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_delta/compat.c (original)
+++ subversion/trunk/subversion/libsvn_delta/compat.c Wed Jan 25 12:29:38 2012
@@ -261,10 +261,13 @@ process_actions(void *edit_baton,
{
/* Fetch the original props. We can then apply each of
the modifications to it. */
- SVN_ERR(eb->fetch_props_func(&props,
- eb->fetch_props_baton,
- path, props_base_revision,
- scratch_pool, scratch_pool));
+ if (need_delete && need_add)
+ props = apr_hash_make(scratch_pool);
+ else
+ SVN_ERR(eb->fetch_props_func(&props,
+ eb->fetch_props_baton,
+ path, props_base_revision,
+ scratch_pool, scratch_pool));
}
/* Note that p_args->value may be NULL. */
@@ -991,8 +994,12 @@ build(struct editor_baton *eb,
else
operation->kind = kind;
- SVN_ERR(eb->fetch_props_func(¤t_props, eb->fetch_props_baton,
- relpath, rev, scratch_pool, scratch_pool));
+ if (operation->operation == OP_REPLACE)
+ current_props = apr_hash_make(scratch_pool);
+ else
+ SVN_ERR(eb->fetch_props_func(¤t_props, eb->fetch_props_baton,
+ relpath, rev, scratch_pool,
+ scratch_pool));
SVN_ERR(svn_prop_diffs(&propdiffs, props, current_props, scratch_pool));