Backport 64014dd374dc81cef24898b51830703a527e923f
authorOlivier Goffart <ogoffart@woboq.com>
Wed, 25 Jul 2018 12:08:55 +0000 (14:08 +0200)
committerKevin Ottens <kevin.ottens@nextcloud.com>
Tue, 15 Dec 2020 09:58:00 +0000 (10:58 +0100)
src/libsync/discovery.cpp

index 3ee2fa6e3849c3f3ed70567ee5cfb6d124095ff8..a345a2a62903bc223e00d872474f1899e1e10671 100644 (file)
@@ -681,7 +681,8 @@ void ProcessDirectoryJob::processFile(PathTuple path,
                     auto up = _discoveryData->_statedb->getUploadInfo(path._original);
                     if (up._valid && up._contentChecksum == remoteChecksumHeader) {
                         // Solve the conflict into an upload, or nothing
-                        item->_instruction = up._modtime == localEntry.modtime ? CSYNC_INSTRUCTION_UPDATE_METADATA : CSYNC_INSTRUCTION_SYNC;
+                        item->_instruction = up._modtime == localEntry.modtime && up._size == localEntry.size
+                            ? CSYNC_INSTRUCTION_UPDATE_METADATA : CSYNC_INSTRUCTION_SYNC;
                         item->_direction = SyncFileItem::Up;
 
                         // Update the etag and other server metadata in the journal already