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',