rclone:fix-111-metadata

Last commit made on 2021-03-07
Get this branch:
git clone -b fix-111-metadata https://git.launchpad.net/rclone

Branch merges

Branch information

Name:
fix-111-metadata
Repository:
lp:rclone

Recent commits

b7199fe... by Nick Craig-Wood

s3: when copying from s3 to s3, preserve metadata #111

See: https://forum.rclone.org/t/s3-bucket-migration-with-metadata-issues/10262

c3e2392... by Robert Thomas <email address hidden>

dropbox: fix polling support for scoped apps - fixes #5089 (#5092)

This fixes the polling implementation for Dropbox, particularly
when using a scoped app. This also adds a lower end check for the
timeout, as I forgot to include that in the original implementation.

f7e3115... by Nick Craig-Wood

s3: fix Wasabi HEAD requests returning stale data by using only 1 transport

In this commit

fc5b14b62046b240 s3: Added `--s3-disable-http2` to disable http/2

We created our own transport so we could disable http/2. However the
added function is called twice meaning that we create two HTTP
transports. This didn't happen with the original code because the
default transport is cached by fshttp.

Rclone normally does a PUT followed by a HEAD request to check an
upload has been successful.

With the two transports, the PUT and the HEAD were being done on
different HTTP transports. This means that it wasn't re-using the same
HTTP connection, so the HEAD request showed the previous object value.
This caused rclone to declare the upload was corrupted, delete the
object and try again.

This patch makes sure we only create one transport and use it for both
PUT and HEAD requests which fixes the problem with Wasabi.

See: https://forum.rclone.org/t/each-time-rclone-is-run-1-3-fails-2-3-succeeds/22545

e01e801... by Nick Craig-Wood

Add Maxwell Calman to contributors

75056dc... by Ivan Andreev

ftp: update dependency jlaffaye/ftp (#5097)

7aa7acd... by Ivan Andreev

address stringent ineffectual assignment check in golangci-lint (#5093)

0ad38dd... by Nick Craig-Wood

dropbox,ftp,onedrive,yandex: make --timeout 0 work properly

See: https://forum.rclone.org/t/an-issue-about-ftp-backend-in-2-different-systems/22551

9cc8ff4... by Maxwell Calman <email address hidden>

chunker: partially implement no-rename transactions (#4675)

Some storage providers e.g. S3 don't have an efficient rename operation.
Before this change, when chunker finished an upload, the server-side copy
and delete operations that renamed temporary chunks to their final names
could take a significant amount of time.
This PR records transaction identifier (versioning) in the metadata of
chunker composite objects striving to remove the need for rename
operations on such backends.
This approach will be triggered be the new "transactions" configuration
option, which can be "rename" (the default) or "norename".
We implement the new approach for uploads (Put operations).
The chunker Move operation still uses the rename operation of
underlying backend. Filling this gap is left for a later PR.

Co-authored-by: Ivan Andreev <email address hidden>

b029fb5... by Nick Craig-Wood

s3: fix failed to create file system with folder level permissions policy

Before this change, if folder level access permissions policy was in
use, with trailing `/` marking the folders then rclone would HEAD the
path without a trailing `/` to work out if it was a file or a folder.
This returned a permission denied error, which rclone returned to the
user.

    Failed to create file system for "s3:bucket/path/": Forbidden: Forbidden
        status code: 403, request id: XXXX, host id:

Previous to this change

53aa03cc44b2a425 s3: complete sse-c implementation

rclone would assume any errors when HEAD-ing the object implied it
didn't exist and this test would not fail.

This change reverts the functionality of the test to work as it did
before, meaning any errors on HEAD will make rclone assume the object
does not exist and the path is referring to a directory.

Fixes #4990

95e9c4e... by Nick Craig-Wood

Add georne to contributors