Browse Source

Report proper error if a write fails instead of saying the download failed

Jordi Boggiano 13 years ago
parent
commit
5c5f87008f
1 changed files with 7 additions and 4 deletions
  1. 7 4
      src/Composer/Util/RemoteFilesystem.php

+ 7 - 4
src/Composer/Util/RemoteFilesystem.php

@@ -130,9 +130,16 @@ class RemoteFilesystem
             }
         }
 
+        if ($this->progress) {
+            $this->io->overwrite("    Downloading: <comment>100%</comment>");
+        }
+
         // handle copy command if download was successful
         if (false !== $result && null !== $fileName) {
             $result = (Boolean) @file_put_contents($fileName, $result);
+            if (false === $result) {
+                throw new TransportException('The "'.$fileUrl.'" file could not be written to '.$fileName);
+            }
         }
 
         // avoid overriding if content was loaded by a sub-call to get()
@@ -140,10 +147,6 @@ class RemoteFilesystem
             $this->result = $result;
         }
 
-        if ($this->progress) {
-            $this->io->overwrite("    Downloading: <comment>100%</comment>");
-        }
-
         if (false === $this->result) {
             throw new TransportException('The "'.$fileUrl.'" file could not be downloaded');
         }