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)
{