After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 727096 - WebDAV moves files using PUT and DELETE instead of MOVE
WebDAV moves files using PUT and DELETE instead of MOVE
Status: RESOLVED DUPLICATE of bug 572786
Product: gvfs
Classification: Core
Component: webdav backend
unspecified
Other Linux
: Normal critical
: ---
Assigned To: gvfs-maint
gvfs-maint
Depends on:
Blocks:
 
 
Reported: 2014-03-26 15:36 UTC by matt.ward
Modified: 2014-03-26 15:45 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description matt.ward 2014-03-26 15:36:37 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?
Comment 1 Ross Lagerwall 2014-03-26 15:45:25 UTC
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 ***