-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Owncloud doesn't create versions when syncing using different Webdav client (Goodsync) #18307
Comments
@schiesbn @PVince81 Usually it shouldn't matter which webdav client is used to generate versions. Do you have any idea what this could have caused? |
Yes, it shouldn't matter which Webdav client is used. It would be good to find out how GoodSync is uploading files. Just guessing, maybe some clients have their own part files and instead of overwriting the files directly, they'd upload a copy into a temporary file (PUT to temp file) and then rename that file to the target file (MOVE temp file to final file). If they do that, then no versions will be created because the temp file itself didn't have any version. This is a situation that ownCloud cannot resolve because we cannot reliably decide whether overwriting a file should merge the versions or not. @schiesbn @karlitschek what do you think ? |
I also just thought about this way of handling uploads and the problems we will have with this approach. |
Or should we make file overwrite through MOVE automatically keep the old versions of the overwritten file ? Might be fine to do that in case someone wants to restore to an older state before the overwrite. |
Hi PVince81 and MorrisJobke I made a new folder in my owncloud account called test1. synced this folder using Goodsync. Added on my computer in the synced folder a file called test2.txt with random text in that folder. Waited till on my server the clock changed time and synced this single file using owncloud. I then copied all lines from the access.log in /var/log/apache2 from that time.
|
I also noted that goodsync makes an folder with the name _gsdata. Probably to keep track of file changes. |
I see it's indeed doing PUTs and MOVEs. This confirms my theory above. Currently the only way to create versions is to do a PUT directly on the final file, which would be Regardless, this shows that there is a need to merging versions on overwrite. |
If I see it correctly goodsync moves the file from the _gsdata folder. There is an option in owncloud to disable the use of the _gsdata folder. I will try this. Maybe with that it will work for now. |
Tested that. Doesn't work. Still get PUT and MOVE but then not from the _gsdata anymore but from the test1 folder. |
No solution that wouldn't involve changing OC's behavior regarding overwriting of files. |
Okay. Thanks for looking into this. |
@JH6 did you raise a feature request in the desktop client's repo ? https://github.com/owncloud/client |
Not yet. was still planing on doing so. Will do it now since I have time. |
I just remembered that SabreDAV (the webdav server library) automatically deletes the file before calling the move operation. This makes it tricky if not impossible to catch. Raised here https://github.com/fruux/sabre-dav/issues/705 |
I have the same issue, but I mounted my owncloud storage via davfs/gvfs |
The following changes will need to be done:
|
Another alternative would be to change the files_versions app to use the fileid for version to file mapping. But that would be a much bigger change. @schiesbn |
Hello, |
…ons - related to #18307 but needs to be addressed for MOVE
…ons - related to #18307 but needs to be addressed for MOVE
…ons - related to #18307 but needs to be addressed for MOVE
…ons - related to #18307 but needs to be addressed for MOVE
Hey, this issue has been closed because the label (This is an automated comment from GitMate.io.) |
Hey, this issue has been closed because the label (This is an automated comment from GitMate.io.) |
…ons - related to #18307 but needs to be addressed for MOVE
…ons - related to #18307 but needs to be addressed for MOVE
…ons - related to #18307 but needs to be addressed for MOVE
…ons - related to #18307 but needs to be addressed for MOVE
…ons - related to #18307 but needs to be addressed for MOVE
…ons - related to #18307 but needs to be addressed for MOVE
…ons - related to #18307 but needs to be addressed for MOVE
…ons - related to #18307 but needs to be addressed for MOVE
…ons - related to #18307 but needs to be addressed for MOVE
Steps to reproduce
Expected behaviour
There should be multiple versions available when syncing using webdav using the goodsync client, the same as with the owncloud client.
Actual behaviour
There are no versions available when using the goodsync client but there are versions available when using the owncloud client.
Server configuration
Operating system: Ubuntu 14.04.3 server (with desktop environment installed on top)
Web server: Apache 2
Database: MySQL 5.5.44
PHP version: 5.5.9
ownCloud version: 8.1.1
Updated from an older ownCloud or fresh install: no
List of activated apps: Only the apps which are enabled by the default installation
The content of config/config.php:
'ocnbfbt1m77k', 'trusted_domains' => array ( 0 => '127.0.0.1', ), 'datadirectory' => '/ownclouddata/data', 'overwrite.cli.url' => 'http://127.0.0.1/owncloud', 'dbtype' => 'mysql', 'version' => '8.1.1.3', 'dbname' => 'owncloud', 'dbhost' => 'localhost', 'dbtableprefix' => 'oc_', 'dbuser' => 'oc_admin', 'logtimezone' => 'UTC', 'installed' => true, 'loglevel' => 0, ); **Are you using external storage, if yes which one:** no **Are you using encryption:** no **Are you using an external user-backend, if yes which one:** WebDav (goodsync) ### Client configuration **Browser: Google Chrome **Operating system:Windows 10 Pro ### Logs #### Web server error log How do I get those? Insert your webserver log here How do I get those? #### ownCloud log (data/owncloud.log) Is extremely large….. because a lot is syncing it’s difficult to find the correct sections.The text was updated successfully, but these errors were encountered: