Author: philip
Date: Fri Apr 1 12:28:00 2011
New Revision: 1087681
URL: http://svn.apache.org/viewvc?rev=1087681&view=rev
Log:
* subversion/libsvn_wc/adm_ops.c
(revert_restore): Only set read-only/executable when different from
property.
Modified:
subversion/trunk/subversion/libsvn_wc/adm_ops.c
Modified: subversion/trunk/subversion/libsvn_wc/adm_ops.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/adm_ops.c?rev=1087681&r1=1087680&r2=1087681&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/adm_ops.c (original)
+++ subversion/trunk/subversion/libsvn_wc/adm_ops.c Fri Apr 1 12:28:00 2011
@@ -1444,18 +1444,23 @@ revert_restore(svn_wc__db_t *db,
else
{
apr_hash_t *props;
+ svn_boolean_t read_only_prop;
+#if !defined(WIN32) && !defined(__OS2__)
+ svn_boolean_t executable_prop;
+#endif
SVN_ERR(svn_wc__db_read_pristine_props(&props, db, local_abspath,
scratch_pool,
scratch_pool));
- if (apr_hash_get(props, SVN_PROP_NEEDS_LOCK, APR_HASH_KEY_STRING)
- && !read_only)
+ read_only_prop = apr_hash_get(props, SVN_PROP_NEEDS_LOCK,
+ APR_HASH_KEY_STRING);
+ if (read_only_prop && !read_only)
{
SVN_ERR(svn_io_set_file_read_only(local_abspath,
FALSE, scratch_pool));
notify_required = TRUE;
}
- else if (read_only)
+ else if (!read_only_prop && read_only)
{
SVN_ERR(svn_io_set_file_read_write(local_abspath,
FALSE, scratch_pool));
@@ -1463,14 +1468,15 @@ revert_restore(svn_wc__db_t *db,
}
#if !defined(WIN32) && !defined(__OS2__)
- if (apr_hash_get(props, SVN_PROP_EXECUTABLE, APR_HASH_KEY_STRING)
- && !executable)
+ executable_prop = apr_hash_get(props, SVN_PROP_EXECUTABLE,
+ APR_HASH_KEY_STRING);
+ if (executable_prop && !executable)
{
SVN_ERR(svn_io_set_file_executable(local_abspath, TRUE,
FALSE, scratch_pool));
notify_required = TRUE;
}
- else if (executable)
+ else if (!executable_prop && executable)
{
SVN_ERR(svn_io_set_file_executable(local_abspath, FALSE,
FALSE, scratch_pool));