From d61d260ef1c606cf8f058a9fb6b3a00169e68dea Mon Sep 17 00:00:00 2001 From: Flavio Copes Date: Wed, 14 Dec 2016 22:40:42 +0100 Subject: [PATCH] Fix #635 use mv instead of rename as that does not support cross volume operations --- CHANGELOG.md | 1 + system/src/Grav/Common/Filesystem/Folder.php | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4156530f..71fba1f8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ 1. [](#bugfix) * Fixed case where extracting a package would cause an error during rename + * Fixed [#635](https://github.com/getgrav/grav/issues/635) use mv instead of rename as that does not support cross volume operations # v1.1.9 ## 12/13/2016 diff --git a/system/src/Grav/Common/Filesystem/Folder.php b/system/src/Grav/Common/Filesystem/Folder.php index a1bcc0883..1b2bd1c40 100644 --- a/system/src/Grav/Common/Filesystem/Folder.php +++ b/system/src/Grav/Common/Filesystem/Folder.php @@ -340,11 +340,13 @@ abstract class Folder // Make sure that path to the target exists before moving. self::create(dirname($target)); - // Just rename the directory. - $success = @rename($source, $target); + error_clear_last(); - if (!$success) { - $error = error_get_last(); + // Just rename the directory. + exec("mv $source $target"); + + $error = error_get_last(); + if ($error) { throw new \RuntimeException($error['message']); }