GNOME Bugzilla – Bug 727096
WebDAV moves files using PUT and DELETE instead of MOVE
Last modified: 2014-03-26 15:45:25 UTC
lsb_release -rd Description: Ubuntu 13.04 Release: 13.04 (I'm told this also happens on 12.04) WebDAV moves files using PUT and DELETE instead of MOVE How to reproduce the issue: Pre-requisites: - WebDAV server. - Packet sniffer (e.g. Wireshark) or set appropriate log levels in the WebDAV server to observe HTTP requests being made. Mount a webdav server: 1. open a nautilus window 2. use menu "files > connect to server" 3. enter the server address (e.g. dav://localhost:8080/alfresco/webdav) and connect Create two folders: "test-move1" and "test-move2". Create a text file in test-move1 named move.txt with some short text in it. Select the file in nautilus and type Ctrl-X. Navigate to "test-move2". Move the file by typing Ctrl-V. Observed behaviour: A multi-request move operation is executed. GET on test-move1/move.txt HEAD on test-move2/move.txt PUT on test-move2/move.txt ... DELETE on test-move1/move.txt Expected behaviour: The move is performed using the WebDAV MOVE command. By using GET, PUT, DELETE instead of a single MOVE: - The client must wait for the entire file to be downloaded before it can be uploaded to the new location. By using MOVE the entire operation may be highly optimized and performed only on the server. - Any associated metadata (including versioning) for the file is lost - since we are in fact creating a new file and deleting the old one. - There is a lack of atomicity and potentially, data integrity. What would happen if an update is made to test-move1/move.txt just before the DELETE happens?
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find. *** This bug has been marked as a duplicate of bug 572786 ***