avoid duplicate files in google with the same name
When it renames the temporary file, it tests if the file is already present. If so, it moves to trash the previous version to avoid duplicate files with the same name (message log: "Ignoring duplicate file name: ... on Google Drive for Google user: ..."). It doesn't handle duplicate files in Google Drive, it tries to avoid them. You'll watch #4279 issue.
This commit is contained in:
parent
c4bd01456b
commit
888dfdffaf
1 changed files with 13 additions and 0 deletions
|
@ -386,6 +386,19 @@ class Google extends \OC\Files\Storage\Common {
|
|||
}
|
||||
|
||||
public function rename($path1, $path2) {
|
||||
// Avoid duplicate files with the same name
|
||||
$testRegex = '/^.+\.ocTransferId\d+\.part$/';
|
||||
if (preg_match($testRegex, $path1)) {
|
||||
if ($this->is_file($path2)) {
|
||||
$testFile2 = $this->getDriveFile($path2);
|
||||
if ($testFile2) {
|
||||
$this->service->files->trash($testFile2->getId());
|
||||
\OCP\Util::writeLog('files_external', 'trash file '.$path2.
|
||||
' for renaming '.$path1.' on Google Drive.', \OCP\Util::DEBUG);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$file = $this->getDriveFile($path1);
|
||||
if ($file) {
|
||||
$newFile = $this->getDriveFile($path2);
|
||||
|
|
Loading…
Reference in a new issue