From 068c624b0df7b82ea343136a5d471b538f0a5b44 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 31 Mar 2015 13:47:06 +0200 Subject: [PATCH] fix copying folder across devices --- lib/private/files/storage/local.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/private/files/storage/local.php b/lib/private/files/storage/local.php index cf82e218969..6bd9b4401d6 100644 --- a/lib/private/files/storage/local.php +++ b/lib/private/files/storage/local.php @@ -228,6 +228,19 @@ if (\OC_Util::runningOnWindows()) { $this->unlink($path2); } + if ($this->is_dir($path1)) { + // we cant move folders across devices, use copy instead + $stat1 = stat(dirname($this->getSourcePath($path1))); + $stat2 = stat(dirname($this->getSourcePath($path2))); + if ($stat1['dev'] !== $stat2['dev']) { + $result = $this->copy($path1, $path2); + if ($result) { + $result &= $this->rmdir($path1); + } + return $result; + } + } + return rename($this->getSourcePath($path1), $this->getSourcePath($path2)); } -- 2.39.5