From dd4db91ae79ed4ce713afa7bac93bf5b69634940 Mon Sep 17 00:00:00 2001 From: Karoly Negyesi Date: Fri, 20 Sep 2013 05:02:06 +0200 Subject: [PATCH] using mkdir() in copyThenRemove() leads to errors if the target exists or not a dir, use ensureDirectoryExists() instead --- src/Composer/Util/Filesystem.php | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/Composer/Util/Filesystem.php b/src/Composer/Util/Filesystem.php index 3dade2ce9..bdef6e402 100644 --- a/src/Composer/Util/Filesystem.php +++ b/src/Composer/Util/Filesystem.php @@ -129,15 +129,12 @@ class Filesystem { $it = new RecursiveDirectoryIterator($source, RecursiveDirectoryIterator::SKIP_DOTS); $ri = new RecursiveIteratorIterator($it, RecursiveIteratorIterator::SELF_FIRST); - - if (!file_exists($target)) { - mkdir($target, 0777, true); - } + $this->ensureDirectoryExists($target); foreach ($ri as $file) { $targetPath = $target . DIRECTORY_SEPARATOR . $ri->getSubPathName(); if ($file->isDir()) { - mkdir($targetPath); + $this->ensureDirectoryExists($targetPath); } else { copy($file->getPathname(), $targetPath); }