Suppose the following scenario:
- In the previous run, the file was synched ok client-server.
- File changed locally while syncdaemon was off.
- File changed in the server while syncdaemon was off (the change is different than the local one).
Right now:
- LR finds that file changed, generates FS_FILE_CLOSE_WRITE.
- HQ hashes it, changes the node's local_hash (leaving it in LOCAL).
- ServerRescan finishes, sending a SV_HASH_NEW.
- New hash does not match node's server_hash nor local_hash, in LOCAL, -> CONFLICT.
If we do what's proposed here, have the risk of executing the following path:
- ServerRescan starts, as it does not need HQ to finish to go.
- New hash does not match node's server_hash nor local_hash, in NONE, -> get_file, overwriting user changes.
Result: we can not do what this bug proposes. I'm marking it as invalid.
Suppose the following scenario:
- In the previous run, the file was synched ok client-server.
- File changed locally while syncdaemon was off.
- File changed in the server while syncdaemon was off (the change is different than the local one).
Right now:
- LR finds that file changed, generates FS_FILE_ CLOSE_WRITE.
- HQ hashes it, changes the node's local_hash (leaving it in LOCAL).
- ServerRescan finishes, sending a SV_HASH_NEW.
- New hash does not match node's server_hash nor local_hash, in LOCAL, -> CONFLICT.
If we do what's proposed here, have the risk of executing the following path:
- LR finds that file changed, generates FS_FILE_ CLOSE_WRITE.
- ServerRescan starts, as it does not need HQ to finish to go.
- ServerRescan finishes, sending a SV_HASH_NEW.
- New hash does not match node's server_hash nor local_hash, in NONE, -> get_file, overwriting user changes.
Result: we can not do what this bug proposes. I'm marking it as invalid.