From 6b571b609c46b33f577ccb7b0813988cd096e9ba Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Tue, 21 Aug 2018 11:24:45 +0200 Subject: [PATCH] Conflicts: Rename BasePath to InitialBasePath #6709 --- src/common/syncjournaldb.cpp | 4 ++-- src/common/syncjournalfilerecord.h | 7 +++++-- src/libsync/owncloudpropagator.cpp | 2 +- src/libsync/propagatedownload.cpp | 2 +- src/libsync/propagateupload.cpp | 4 ++-- src/libsync/syncengine.cpp | 2 +- test/testsyncconflict.cpp | 12 ++++++------ 7 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/common/syncjournaldb.cpp b/src/common/syncjournaldb.cpp index ee961862f..610d85ddf 100644 --- a/src/common/syncjournaldb.cpp +++ b/src/common/syncjournaldb.cpp @@ -1994,7 +1994,7 @@ void SyncJournalDb::setConflictRecord(const ConflictRecord &record) query.bindValue(2, record.baseFileId); query.bindValue(3, record.baseModtime); query.bindValue(4, record.baseEtag); - query.bindValue(5, record.basePath); + query.bindValue(5, record.initialBasePath); ASSERT(query.exec()); } @@ -2016,7 +2016,7 @@ ConflictRecord SyncJournalDb::conflictRecord(const QByteArray &path) entry.baseFileId = query.baValue(0); entry.baseModtime = query.int64Value(1); entry.baseEtag = query.baValue(2); - entry.basePath = query.baValue(3); + entry.initialBasePath = query.baValue(3); return entry; } diff --git a/src/common/syncjournalfilerecord.h b/src/common/syncjournalfilerecord.h index e1a9b32ff..7f087dc2c 100644 --- a/src/common/syncjournalfilerecord.h +++ b/src/common/syncjournalfilerecord.h @@ -140,11 +140,14 @@ public: QByteArray baseEtag; /** - * The path of the original file + * The path of the original file at the time the conflict was created + * + * Note that in nearly all cases one should query the db by baseFileId and + * thus retrieve the *current* base path instead! * * maybe be empty if not available */ - QByteArray basePath; + QByteArray initialBasePath; bool isValid() const { return !path.isEmpty(); } diff --git a/src/libsync/owncloudpropagator.cpp b/src/libsync/owncloudpropagator.cpp index 59b0ae59e..e1b83ac33 100644 --- a/src/libsync/owncloudpropagator.cpp +++ b/src/libsync/owncloudpropagator.cpp @@ -691,7 +691,7 @@ bool OwncloudPropagator::createConflict(const SyncFileItemPtr &item, ConflictRecord conflictRecord; conflictRecord.path = conflictFileName.toUtf8(); conflictRecord.baseModtime = item->_previousModtime; - conflictRecord.basePath = item->_file.toUtf8(); + conflictRecord.initialBasePath = item->_file.toUtf8(); SyncJournalFileRecord baseRecord; if (_journal->getFileRecord(item->_originalFile, &baseRecord) && baseRecord.isValid()) { diff --git a/src/libsync/propagatedownload.cpp b/src/libsync/propagatedownload.cpp index e54e8e7e6..b276a8928 100644 --- a/src/libsync/propagatedownload.cpp +++ b/src/libsync/propagatedownload.cpp @@ -714,7 +714,7 @@ void PropagateDownloadFile::slotGetFinished() // the database yet!) if (job->reply()->rawHeader("OC-Conflict") == "1") { _conflictRecord.path = _item->_file.toUtf8(); - _conflictRecord.basePath = job->reply()->rawHeader("OC-ConflictBasePath"); + _conflictRecord.initialBasePath = job->reply()->rawHeader("OC-ConflictInitialBasePath"); _conflictRecord.baseFileId = job->reply()->rawHeader("OC-ConflictBaseFileId"); _conflictRecord.baseEtag = job->reply()->rawHeader("OC-ConflictBaseEtag"); diff --git a/src/libsync/propagateupload.cpp b/src/libsync/propagateupload.cpp index e7767465a..9f1c1cf6b 100644 --- a/src/libsync/propagateupload.cpp +++ b/src/libsync/propagateupload.cpp @@ -731,8 +731,8 @@ QMap PropagateUploadFileCommon::headers() auto conflictRecord = propagator()->_journal->conflictRecord(_item->_file.toUtf8()); if (conflictRecord.isValid()) { headers["OC-Conflict"] = "1"; - if (!conflictRecord.basePath.isEmpty()) - headers["OC-ConflictBasePath"] = conflictRecord.basePath; + if (!conflictRecord.initialBasePath.isEmpty()) + headers["OC-ConflictInitialBasePath"] = conflictRecord.initialBasePath; if (!conflictRecord.baseFileId.isEmpty()) headers["OC-ConflictBaseFileId"] = conflictRecord.baseFileId; if (conflictRecord.baseModtime != -1) diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp index 8b0e86ec8..c6d4aa2f2 100644 --- a/src/libsync/syncengine.cpp +++ b/src/libsync/syncengine.cpp @@ -279,7 +279,7 @@ void SyncEngine::conflictRecordMaintenance() ConflictRecord record; record.path = bapath; auto basePath = Utility::conflictFileBaseNameFromPattern(bapath); - record.basePath = basePath; + record.initialBasePath = basePath; // Determine fileid of target file SyncJournalFileRecord baseRecord; diff --git a/test/testsyncconflict.cpp b/test/testsyncconflict.cpp index 635fd7d56..48cf1bf0c 100644 --- a/test/testsyncconflict.cpp +++ b/test/testsyncconflict.cpp @@ -107,7 +107,7 @@ private slots: conflictMap[baseFileId] = conflictFile; [&] { QVERIFY(!baseFileId.isEmpty()); - QCOMPARE(request.rawHeader("OC-ConflictBasePath"), Utility::conflictFileBaseNameFromPattern(conflictFile.toUtf8())); + QCOMPARE(request.rawHeader("OC-ConflictInitialBasePath"), Utility::conflictFileBaseNameFromPattern(conflictFile.toUtf8())); }(); } } @@ -157,7 +157,7 @@ private slots: conflictMap[baseFileId] = conflictFile; [&] { QVERIFY(!baseFileId.isEmpty()); - QCOMPARE(request.rawHeader("OC-ConflictBasePath"), Utility::conflictFileBaseNameFromPattern(conflictFile.toUtf8())); + QCOMPARE(request.rawHeader("OC-ConflictInitialBasePath"), Utility::conflictFileBaseNameFromPattern(conflictFile.toUtf8())); }(); } } @@ -173,7 +173,7 @@ private slots: ConflictRecord conflictRecord; conflictRecord.path = conflictName.toUtf8(); conflictRecord.baseFileId = a1FileId; - conflictRecord.basePath = "A/a1"; + conflictRecord.initialBasePath = "A/a1"; fakeFolder.syncJournal().setConflictRecord(conflictRecord); QVERIFY(fakeFolder.syncOnce()); QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState()); @@ -225,7 +225,7 @@ private slots: auto conflictRecord = fakeFolder.syncJournal().conflictRecord("A/a1 (conflicted copy 1234)"); QVERIFY(conflictRecord.isValid()); QCOMPARE(conflictRecord.baseFileId, fakeFolder.remoteModifier().find("A/a1")->fileId); - QCOMPARE(conflictRecord.basePath, QByteArray("A/a1")); + QCOMPARE(conflictRecord.initialBasePath, QByteArray("A/a1")); // Now with server headers QObject parent; @@ -237,7 +237,7 @@ private slots: reply->setRawHeader("OC-ConflictBaseFileId", a2FileId); reply->setRawHeader("OC-ConflictBaseMtime", "1234"); reply->setRawHeader("OC-ConflictBaseEtag", "etag"); - reply->setRawHeader("OC-ConflictBasePath", "A/original"); + reply->setRawHeader("OC-ConflictInitialBasePath", "A/original"); return reply; } return nullptr; @@ -250,7 +250,7 @@ private slots: QCOMPARE(conflictRecord.baseFileId, a2FileId); QCOMPARE(conflictRecord.baseModtime, 1234); QCOMPARE(conflictRecord.baseEtag, QByteArray("etag")); - QCOMPARE(conflictRecord.basePath, QByteArray("A/original")); + QCOMPARE(conflictRecord.initialBasePath, QByteArray("A/original")); } // Check that conflict records are removed when the file is gone -- 2.30.2