? .directory
? drupal-755586-D7.patch
? drupal-818818-D7.patch
? drupal-828268-D7.patch
? includes/.directory
Index: includes/file.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/file.inc,v
retrieving revision 1.212
diff -u -p -r1.212 file.inc
--- includes/file.inc	14 Jun 2010 13:33:45 -0000	1.212
+++ includes/file.inc	15 Jun 2010 21:48:26 -0000
@@ -675,8 +675,24 @@ function file_unmanaged_copy($source, $d
   }
   // Make sure the .htaccess files are present.
   file_ensure_htaccess();
+
+  // Perform the replace operation.
+  $result = FALSE;
+  if ($replace == FILE_EXISTS_REPLACE) {
+    $temp_name = $destination . '-' . mt_rand();
+    if ($temp_name && @copy($source, $temp_name)) {
+      @unlink($destination);
+      $result = @rename($temp_name, $destination);
+    }
+    else {
+      $result = FALSE;
+    }
+  }
   // Perform the copy operation.
-  if (!@copy($source, $destination)) {
+  else {
+    $result = @copy($source, $destination);
+  }
+  if ($result === FALSE) {
     drupal_set_message(t('The specified file %file could not be copied.', array('%file' => $source)), 'error');
     return FALSE;
   }
