Author: hwright
Date: Mon Mar 22 20:22:50 2010
New Revision: 926316

URL: http://svn.apache.org/viewvc?rev=926316&view=rev
Log:
Merge r896915 from trunk:

 * r896915
   On Windows, stop retrying a move operation without looking to the
   initial error code. 
   Justification:
     Without this patch the initial move error is lost, which makes it
     impossible to diagnose the real error.
   Votes:
     +1: rhuijben, cmpilato, hwright

Modified:
    subversion/branches/1.6.x/   (props changed)
    subversion/branches/1.6.x/STATUS
    subversion/branches/1.6.x/subversion/libsvn_subr/io.c

Propchange: subversion/branches/1.6.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Mar 22 20:22:50 2010
@@ -64,4 +64,4 @@
 /subversion/branches/tc_url_rev:870696-870828
 /subversion/branches/tree-conflicts:864636-869499
 /subversion/branches/tree-conflicts-notify:870271-870353
-/subversion/trunk:875976,875980-875981,876054-876056,876092,876175,876299,876306,876427,876440,876450,876507,876571,876862,877203,877595,877597,877665,878216,878269,878321,878341,878343,878399,878423,878426,879093,879688,880274-880275,880370,880450,880474,880525-880526,880552,881905,884842,886164,886197,888715,888979,889081,889840,891672,892050,892085,895514,895653,896522,898963,899826,899828,900797,901752,904301,904394,904594,905303,905326,906256,906305,917640,918211,922516
+/subversion/trunk:875976,875980-875981,876054-876056,876092,876175,876299,876306,876427,876440,876450,876507,876571,876862,877203,877595,877597,877665,878216,878269,878321,878341,878343,878399,878423,878426,879093,879688,880274-880275,880370,880450,880474,880525-880526,880552,881905,884842,886164,886197,888715,888979,889081,889840,891672,892050,892085,895514,895653,896522,896915,898963,899826,899828,900797,901752,904301,904394,904594,905303,905326,906256,906305,917640,918211,922516

Modified: subversion/branches/1.6.x/STATUS
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.6.x/STATUS?rev=926316&r1=926315&r2=926316&view=diff
==============================================================================
--- subversion/branches/1.6.x/STATUS (original)
+++ subversion/branches/1.6.x/STATUS Mon Mar 22 20:22:50 2010
@@ -170,12 +170,3 @@ Veto-blocked changes:
 
 Approved changes:
 =================
-
- * r896915
-   On Windows, stop retrying a move operation without looking to the
-   initial error code. 
-   Justification:
-     Without this patch the initial move error is lost, which makes it
-     impossible to diagnose the real error.
-   Votes:
-     +1: rhuijben, cmpilato, hwright

Modified: subversion/branches/1.6.x/subversion/libsvn_subr/io.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.6.x/subversion/libsvn_subr/io.c?rev=926316&r1=926315&r2=926316&view=diff
==============================================================================
--- subversion/branches/1.6.x/subversion/libsvn_subr/io.c (original)
+++ subversion/branches/1.6.x/subversion/libsvn_subr/io.c Mon Mar 22 20:22:50 
2010
@@ -2906,17 +2906,16 @@ svn_io_file_rename(const char *from_path
   status = apr_file_rename(from_path_apr, to_path_apr, pool);
 
 #ifdef WIN32
-  if (status)
+  if (APR_STATUS_IS_EACCES(status))
     {
       /* Set the destination file writable because Windows will not
-         allow us to rename over files that are read-only. */
+         allow us to rename when to_path is read-only, but will
+         allow renaming when from_path is read only. */
       SVN_ERR(svn_io_set_file_read_write(to_path, TRUE, pool));
 
       status = apr_file_rename(from_path_apr, to_path_apr, pool);
-
-      WIN32_RETRY_LOOP(status,
-                       apr_file_rename(from_path_apr, to_path_apr, pool));
     }
+  WIN32_RETRY_LOOP(status, apr_file_rename(from_path_apr, to_path_apr, pool));
 #endif /* WIN32 */
 
   if (status)


Reply via email to