Index: subversion/libsvn_subr/io.c =================================================================== --- subversion/libsvn_subr/io.c (revision 17364) +++ subversion/libsvn_subr/io.c (working copy) @@ -2479,38 +2479,14 @@ #ifdef WIN32 /* Set the file writable but only on Windows, because Windows will - not allow us to rename files that are read-only. But preserve the - state of the read-only flag on the destination. */ - svn_boolean_t was_read_only; - apr_finfo_t finfo; + not allow us to rename files that are read-only. */ - SVN_ERR (svn_io_set_file_read_write (from_path, FALSE, pool)); + SVN_ERR (svn_io_set_file_read_write (to_path, FALSE, pool)); #endif /* WIN32 */ SVN_ERR (svn_path_cstring_from_utf8 (&from_path_apr, from_path, pool)); SVN_ERR (svn_path_cstring_from_utf8 (&to_path_apr, to_path, pool)); -#ifdef WIN32 - status = apr_stat (&finfo, to_path_apr, APR_FINFO_PROT, pool); - if (APR_STATUS_IS_ENOENT (status)) - { - was_read_only = FALSE; - status = APR_SUCCESS; - } - else if (!status) - { - /* Note: apr_stat doesn't look at just the read-only bit. It's - concievable that we get a positive result here because of - file permissions. But that shouldn't happen in a Subversion - working copy, and then set_read_write will fail, so the end - result is the same. */ - was_read_only = !(finfo.protection - & (APR_UWRITE | APR_GWRITE | APR_WWRITE)); - if (was_read_only) - SVN_ERR (svn_io_set_file_read_write (to_path, FALSE, pool)); - } -#endif /* WIN32 */ - if (!status) { status = apr_file_rename (from_path_apr, to_path_apr, pool); @@ -2523,11 +2499,6 @@ svn_path_local_style (from_path, pool), svn_path_local_style (to_path, pool)); -#ifdef WIN32 - if (was_read_only) - SVN_ERR (svn_io_set_file_read_only (to_path, FALSE, pool)); -#endif /* WIN32 */ - return SVN_NO_ERROR; }