From: Robin Appelman Date: Tue, 31 Mar 2015 11:47:06 +0000 (+0200) Subject: fix copying folder across devices X-Git-Tag: v8.1.0alpha1~74^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=068c624b0df7b82ea343136a5d471b538f0a5b44;p=nextcloud-server.git fix copying folder across devices --- 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)); }