From cf43ca2a7bcb70bc9e77e882f620a4291960a9f5 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Mon, 12 Sep 2016 17:30:37 +0100 Subject: [PATCH] Document which remotes support which optional features --- docs/content/overview.md | 63 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/docs/content/overview.md b/docs/content/overview.md index eba889832..26bb0d319 100644 --- a/docs/content/overview.md +++ b/docs/content/overview.md @@ -77,3 +77,66 @@ objects with the same name. This confuses rclone greatly when syncing - use the `rclone dedupe` command to rename or remove duplicates. + +## Optional Features ## + +All the remotes support a basic set of features, but there are some +optional features supported by some remotes used to make some +operations more efficient. + +| Name | Purge | Copy | Move | DirMove | CleanUp | +| ---------------------- |:-----:|:----:|:----:|:-------:|:-------:| +| Google Drive | Yes | Yes | Yes | Yes | No [#575](https://github.com/ncw/rclone/issues/575) | +| Amazon S3 | No | Yes | No | No | No | +| Openstack Swift | Yes † | Yes | No | No | No | +| Dropbox | Yes | Yes | Yes | Yes | No [#575](https://github.com/ncw/rclone/issues/575) | +| Google Cloud Storage | Yes | Yes | No | No | No | +| Amazon Drive | Yes | No | No [#721](https://github.com/ncw/rclone/issues/721) | No [#721](https://github.com/ncw/rclone/issues/721) | No [#575](https://github.com/ncw/rclone/issues/575) | +| Microsoft One Drive | Yes | Yes | No [#197](https://github.com/ncw/rclone/issues/197) | No [#197](https://github.com/ncw/rclone/issues/197) | No [#575](https://github.com/ncw/rclone/issues/575) | +| Hubic | Yes † | Yes | No | No | No | +| Backblaze B2 | No | No | No | No | Yes | +| Yandex Disk | Yes | No | No | No | No [#575](https://github.com/ncw/rclone/issues/575) | +| The local filesystem | Yes | No | Yes | Yes | No | + + +### Purge ### + +This deletes a directory quicker than just deleting all the files in +the directory. + +† Note Swift and Hubic implement this in order to delete directory +markers but they don't actually have a quicker way of deleting files +other than deleting them individually. + +### Copy ### + +Used when copying an object to and from the same remote. This known +as a server side copy so you can copy a file without downloading it +and uploading it again. It is used if you use `rclone copy` or +`rclone move` if the remote doesn't support `Move` directly. + +If the server doesn't support `Copy` directly then for copy operations +the file is downloaded then re-uploaded. + +### Move ### + +Used when moving/renaming an object on the same remote. This is known +as a server side move of a file. This is used in `rclone move` if the +server doesn't support `DirMove`. + +If the server isn't capable of `Move` then rclone simulates it with +`Copy` then delete. If the server doesn't support `Copy` then rclone +will download the file and re-upload it. + +### DirMove ### + +This is used to implement `rclone move` to move a directory if +possible. If it isn't then it will use `Move` on each file (which +falls back to `Copy` then download and upload - see `Move` section). + +### CleanUp ### + +This is used for emptying the trash for a remote by `rclone cleanup`. + +If the server can't do `CleanUp` then `rclone cleanup` will return an +error.