You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ph...@apache.org on 2013/01/28 15:51:47 UTC
svn commit: r1439432 - in /subversion/trunk/subversion:
libsvn_wc/wc_db_update_move.c tests/cmdline/update_tests.py
Author: philip
Date: Mon Jan 28 14:51:46 2013
New Revision: 1439432
URL: http://svn.apache.org/viewvc?rev=1439432&view=rev
Log:
Fix a move-update property XFail.
* subversion/libsvn_wc/wc_db_update_move.c
(update_working_props): Handle the delay setting pristine properties.
* subversion/tests/cmdline/update_tests.py
(move_update_props): Tweak status before testing, remove XFail.
Modified:
subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c
subversion/trunk/subversion/tests/cmdline/update_tests.py
Modified: subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c?rev=1439432&r1=1439431&r2=1439432&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c (original)
+++ subversion/trunk/subversion/libsvn_wc/wc_db_update_move.c Mon Jan 28 14:51:46 2013
@@ -506,6 +506,7 @@ update_working_props(svn_wc_notify_state
apr_pool_t *scratch_pool)
{
apr_hash_t *new_actual_props;
+ apr_array_header_t *new_propchanges;
/*
* Run a 3-way prop merge to update the props, using the pre-update
@@ -524,6 +525,18 @@ update_working_props(svn_wc_notify_state
old_version->props, old_version->props,
*actual_props, *propchanges,
result_pool, scratch_pool));
+
+ /* Setting properties in ACTUAL_NODE with svn_wc__db_op_set_props
+ relies on NODES row having been updated first which we don't do
+ at present. So this extra property diff has the same effect.
+
+ ### Perhaps we should update NODES first (but after
+ ### svn_wc__db_read_props above)? */
+ SVN_ERR(svn_prop_diffs(&new_propchanges, new_actual_props, new_version->props,
+ scratch_pool));
+ if (!new_propchanges->nelts)
+ new_actual_props = NULL;
+
/* Install the new actual props. Don't set the conflict_skel yet, because
we might need to add a text conflict to it as well. */
SVN_ERR(svn_wc__db_op_set_props(db, local_abspath,
@@ -535,7 +548,6 @@ update_working_props(svn_wc_notify_state
return SVN_NO_ERROR;
}
-
static svn_error_t *
tc_editor_alter_directory(void *baton,
const char *dst_relpath,
Modified: subversion/trunk/subversion/tests/cmdline/update_tests.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/tests/cmdline/update_tests.py?rev=1439432&r1=1439431&r2=1439432&view=diff
==============================================================================
--- subversion/trunk/subversion/tests/cmdline/update_tests.py (original)
+++ subversion/trunk/subversion/tests/cmdline/update_tests.py Mon Jan 28 14:51:46 2013
@@ -6427,7 +6427,6 @@ def update_swapped_depth_dirs(sbox):
None, None, None,
None, None, 1)
-@XFail()
def move_update_props(sbox):
"move-update with property mods"
@@ -6495,8 +6494,8 @@ def move_update_props(sbox):
'--accept=mine-conflict',
sbox.ospath('A/B'))
- svntest.actions.run_and_verify_status(wc_dir, expected_status)
expected_status.tweak('A/B', treeconflict=None)
+ svntest.actions.run_and_verify_status(wc_dir, expected_status)
expected_disk.tweak('A/B2', 'A/B2/E/alpha', props={'propertyA' : 'value1'})
expected_disk.tweak('A/B2/E', 'A/B2/E/beta', props={'propertyA' : 'value1',