owncloud / client

🖥️ Desktop Syncing Client for ownCloud
GNU General Public License v2.0
1.4k stars 665 forks source link

Reset Client Data to Server State (related: server versions app) #3096

Open dragotin opened 9 years ago

dragotin commented 9 years ago

Usecase:

A user should have the opportunity to reset his sync client data to exactly the same state the server is in. Obviously that should be the fact anyway but reality shows that users sometimes do not feel confident that their sync data is really in sync and want to go back to the servers state. Mainly this is about clearing all errors that users might see. Not needed downloads should be avoided.

Implementation Options:

  1. Remove the local sync journal. That results in recreation of the journal with the superset of the files. It would not remove files that exist on the client but not on the server.
  2. Change the reconcile phase to have a "Server wins" option. That would basically create a propagator list that does not propagate changes from client to server.

@ogoffart what is your opinion?

@msrex @MTRichards please discuss scheduling of this feature.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/10859739-reset-client-data-to-server-state?utm_campaign=plugin&utm_content=tracker%2F216457&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F216457&utm_medium=issues&utm_source=github).
ogoffart commented 9 years ago
  1. Remove the local sync journal.

That would not help at all, files with error would still be there and the client would still try to upload them on next sync.

\2. Change the reconcile phase to have a "Server wins" option

Yes. That would be a totally new reconcile logic that would remove the files that do not exist on the server, and always download the files that are different.

Question is how do we show that to the user? This is also a destructive operation that can lead to data losses. This is also not a trivial change to do in the sync engine.

guruz commented 7 years ago

Yep reminds me what I mentioned on IRC some days ago, I accidently triggered a big file upload of an existing file. I wanted to pause the sync and then 'revert to server'