mirror of
https://github.com/chylex/Nextcloud-Desktop.git
synced 2025-04-09 19:15:43 +02:00
Merge pull request #4033 from nextcloud/bugfix/renameBadFileNames
do not forget the path when renaming files with invalid names
This commit is contained in:
commit
7e41cf07d4
@ -389,7 +389,13 @@ void ProcessDirectoryJob::processFile(PathTuple path,
|
||||
item->_originalFile = path._original;
|
||||
item->_previousSize = dbEntry._fileSize;
|
||||
item->_previousModtime = dbEntry._modtime;
|
||||
item->_renameTarget = localEntry.renameName;
|
||||
if (!localEntry.renameName.isEmpty()) {
|
||||
if (_dirItem) {
|
||||
item->_renameTarget = _dirItem->_file + "/" + localEntry.renameName;
|
||||
} else {
|
||||
item->_renameTarget = localEntry.renameName;
|
||||
}
|
||||
}
|
||||
|
||||
if (dbEntry._modtime == localEntry.modtime && dbEntry._type == ItemTypeVirtualFile && localEntry.type == ItemTypeFile) {
|
||||
item->_type = ItemTypeFile;
|
||||
|
@ -212,10 +212,16 @@ private slots:
|
||||
const QString fileWithSpaces1(" foo");
|
||||
const QString fileWithSpaces2(" bar ");
|
||||
const QString fileWithSpaces3("bla ");
|
||||
const QString fileWithSpaces4("A/ foo");
|
||||
const QString fileWithSpaces5("A/ bar ");
|
||||
const QString fileWithSpaces6("A/bla ");
|
||||
|
||||
fakeFolder.localModifier().insert(fileWithSpaces1);
|
||||
fakeFolder.localModifier().insert(fileWithSpaces2);
|
||||
fakeFolder.localModifier().insert(fileWithSpaces3);
|
||||
fakeFolder.localModifier().insert(fileWithSpaces4);
|
||||
fakeFolder.localModifier().insert(fileWithSpaces5);
|
||||
fakeFolder.localModifier().insert(fileWithSpaces6);
|
||||
|
||||
QVERIFY(fakeFolder.syncOnce());
|
||||
|
||||
@ -233,6 +239,21 @@ private slots:
|
||||
QVERIFY(!fakeFolder.currentRemoteState().find(fileWithSpaces3));
|
||||
QVERIFY(fakeFolder.currentLocalState().find(fileWithSpaces3.trimmed()));
|
||||
QVERIFY(!fakeFolder.currentLocalState().find(fileWithSpaces3));
|
||||
|
||||
QVERIFY(fakeFolder.currentRemoteState().find("A/foo"));
|
||||
QVERIFY(!fakeFolder.currentRemoteState().find(fileWithSpaces4));
|
||||
QVERIFY(fakeFolder.currentLocalState().find("A/foo"));
|
||||
QVERIFY(!fakeFolder.currentLocalState().find(fileWithSpaces4));
|
||||
|
||||
QVERIFY(fakeFolder.currentRemoteState().find("A/bar"));
|
||||
QVERIFY(!fakeFolder.currentRemoteState().find(fileWithSpaces5));
|
||||
QVERIFY(fakeFolder.currentLocalState().find("A/bar"));
|
||||
QVERIFY(!fakeFolder.currentLocalState().find(fileWithSpaces5));
|
||||
|
||||
QVERIFY(fakeFolder.currentRemoteState().find("A/bla"));
|
||||
QVERIFY(!fakeFolder.currentRemoteState().find(fileWithSpaces6));
|
||||
QVERIFY(fakeFolder.currentLocalState().find("A/bla"));
|
||||
QVERIFY(!fakeFolder.currentLocalState().find(fileWithSpaces6));
|
||||
}
|
||||
|
||||
void testCreateFileWithTrailingSpaces_localTrimmedDoesExist_dontRenameAndUploadFile()
|
||||
|
Loading…
Reference in New Issue
Block a user