Author: philip
Date: Wed Jun  9 15:01:58 2010
New Revision: 953036

URL: http://svn.apache.org/viewvc?rev=953036&view=rev
Log:
Fix the dav cache; it was being set too early so any values stored
didn't persist.

* subversion/libsvn_wc/update_editor.c
  (close_file, close_directory): Set the dav cache after the base
   node is constructed.

Modified:
    subversion/trunk/subversion/libsvn_wc/update_editor.c

Modified: subversion/trunk/subversion/libsvn_wc/update_editor.c
URL: 
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/update_editor.c?rev=953036&r1=953035&r2=953036&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/update_editor.c (original)
+++ subversion/trunk/subversion/libsvn_wc/update_editor.c Wed Jun  9 15:01:58 
2010
@@ -3057,15 +3057,6 @@ close_directory(void *dir_baton,
                                      &new_changed_author,
                                      eb->db, db->local_abspath, entry_props,
                                      pool, pool));
-
-      /* Handle the wcprops. */
-      if (wc_props && wc_props->nelts > 0)
-        {
-          SVN_ERR(svn_wc__db_base_set_dav_cache(eb->db, db->local_abspath,
-                                                prop_hash_from_array(wc_props,
-                                                                     pool),
-                                                pool));
-        }
     }
 
   /* If this directory is merely an anchor for a targeted child, then we
@@ -3171,6 +3162,15 @@ close_directory(void *dir_baton,
                                           work_items,
                                           pool));
         }
+
+      /* Handle the wcprops. */
+      if (wc_props && wc_props->nelts > 0)
+        {
+          SVN_ERR(svn_wc__db_base_set_dav_cache(eb->db, db->local_abspath,
+                                                prop_hash_from_array(wc_props,
+                                                                     pool),
+                                                pool));
+        }
     }
 
   /* Process all of the queued work items for this directory.  */
@@ -4859,13 +4859,6 @@ close_file(void *file_baton,
     all_work_items = svn_wc__wq_merge(all_work_items, work_item, pool);
   }
 
-  /* This writes a whole bunch of log commands to install wcprops.  */
-  /* ### no it doesn't. this immediately modifies them. should probably
-     ### occur later, when we know the (new) BASE node exists.  */
-  SVN_ERR(svn_wc__db_base_set_dav_cache(eb->db, fb->local_abspath,
-                                        prop_hash_from_array(wc_props, pool),
-                                        pool));
-
   /* Do the hard work. This will queue some additional work.  */
   SVN_ERR(merge_file(&work_item, &install_pristine, &install_from,
                      &content_state, fb, new_text_base_abspath, pool));
@@ -4981,6 +4974,12 @@ close_file(void *file_baton,
                                      all_work_items,
                                      pool));
 
+    /* This writes a whole bunch of log commands to install wcprops.  */
+    /* ### no it doesn't. this immediately modifies them. */
+    SVN_ERR(svn_wc__db_base_set_dav_cache(eb->db, fb->local_abspath,
+                                          prop_hash_from_array(wc_props, pool),
+                                          pool));
+
     /* ### ugh. deal with preserving the file external value in the database.
        ### there is no official API, so we do it this way. maybe we should
        ### have a temp API into wc_db.  */


Reply via email to