You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/04/26 18:50:54 UTC

svn commit: r1096802 - /subversion/trunk/subversion/libsvn_wc/props.c

Author: hwright
Date: Tue Apr 26 16:50:53 2011
New Revision: 1096802

URL: http://svn.apache.org/viewvc?rev=1096802&view=rev
Log:
Don't sync file perms with flags if we're not setting relevent properties.

* subversion/libsvn_wc/props.c
  (do_propset): Conditionally build and run the sync flags workqueue item.

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

Modified: subversion/trunk/subversion/libsvn_wc/props.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/props.c?rev=1096802&r1=1096801&r2=1096802&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/props.c (original)
+++ subversion/trunk/subversion/libsvn_wc/props.c Tue Apr 26 16:50:53 2011
@@ -2018,7 +2018,7 @@ do_propset(svn_wc__db_t *db,
   svn_wc_notify_action_t notify_action;
   svn_wc__db_kind_t kind;
   svn_wc__db_status_t status;
-  svn_skel_t *work_item;
+  svn_skel_t *work_item = NULL;
 
   SVN_ERR_ASSERT(svn_dirent_is_absolute(local_abspath));
 
@@ -2074,8 +2074,13 @@ do_propset(svn_wc__db_t *db,
       value = new_value;
     }
 
-  SVN_ERR(svn_wc__wq_build_sync_file_flags(&work_item, db, local_abspath,
-                                           scratch_pool, scratch_pool));
+  if (kind == svn_wc__db_kind_file
+        && (strcmp(name, SVN_PROP_EXECUTABLE) == 0
+            || strcmp(name, SVN_PROP_NEEDS_LOCK) == 0))
+    {
+      SVN_ERR(svn_wc__wq_build_sync_file_flags(&work_item, db, local_abspath,
+                                               scratch_pool, scratch_pool));
+    }
 
   SVN_ERR_W(svn_wc__db_read_props(&prophash, db, local_abspath,
                                   scratch_pool, scratch_pool),
@@ -2163,7 +2168,8 @@ do_propset(svn_wc__db_t *db,
                                   scratch_pool));
 
   /* Run our workqueue item for sync'ing flags with props. */
-  SVN_ERR(svn_wc__wq_run(db, local_abspath, NULL, NULL, scratch_pool));
+  if (work_item)
+    SVN_ERR(svn_wc__wq_run(db, local_abspath, NULL, NULL, scratch_pool));
 
   if (notify_func)
     {