From: Christian Kamm Date: Tue, 6 Sep 2016 08:42:59 +0000 (+0200) Subject: Recall: Copy instead of move recalled file #5150 X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~1080^2~20 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=4abaee7736bb2ecdbe2d5c357120910130dcf4a3;p=nextcloud-desktop.git Recall: Copy instead of move recalled file #5150 That was an unintentional change in 2662203fb7277d5d1a57cef556279f8cd3b974f5 Also expand the test case to cover this. (cherry picked from commit af9c4d0e2fe1a42e1faf14779ca5ef1088bd1314) --- diff --git a/csync/tests/ownCloud/t_recall.pl b/csync/tests/ownCloud/t_recall.pl index 008cad8fd..244618cf8 100755 --- a/csync/tests/ownCloud/t_recall.pl +++ b/csync/tests/ownCloud/t_recall.pl @@ -64,6 +64,10 @@ csync(); assert( -e glob(localDir().'dir/file2_.sys.admin#recall#-*.dat' ) ); assert( -e glob(localDir().'dir/file3_.sys.admin#recall#-*.dat' ) ); +# verify that the original files still exist +assert( -e glob(localDir().'dir/file2.dat' ) ); +assert( -e glob(localDir().'dir/file3.dat' ) ); + #Remove the recall file unlink(localDir() . ".sys.admin#recall#"); diff --git a/src/libsync/propagatedownload.cpp b/src/libsync/propagatedownload.cpp index 306788388..27a214d75 100644 --- a/src/libsync/propagatedownload.cpp +++ b/src/libsync/propagatedownload.cpp @@ -638,8 +638,9 @@ static void handleRecallFile(const QString &fn) QString rpath = makeRecallFileName(fpath); qDebug() << "Copy recall file: " << fpath << " -> " << rpath; - QString error; - FileSystem::uncheckedRenameReplace(fpath, rpath, &error); + // Remove the target first, QFile::copy will not overwrite it. + FileSystem::remove(rpath); + QFile::copy(fpath, rpath); } }