1
mirror of https://github.com/rclone/rclone synced 2024-08-01 23:20:00 +02:00
rclone/fs
Janne Hellsten 5c594fea90 operations: implement uploads to temp name with --inplace to disable
When copying to a backend which has the PartialUploads feature flag
set and can Move files the file is copied into a temporary name first.
Once the copy is complete, the file is renamed to the real
destination.

This prevents other processes from seeing partially downloaded copies
of files being downloaded and prevents overwriting the old file until
the new one is complete.

This also adds --inplace flag that can be used to disable the partial
file copy/rename feature.

See #3770

Co-authored-by: Nick Craig-Wood <nick@craig-wood.com>
2023-05-09 16:28:10 +01:00
..
accounting fs: fix typos found by codespell 2023-03-25 12:51:04 +01:00
asyncreader Replace deprecated ioutil 2022-11-07 11:41:47 +00:00
cache mockfs: make it so it can be registered as an Fs 2023-04-28 14:31:05 +01:00
chunkedreader build: add package comments to silence revive linter 2022-08-28 13:43:51 +02:00
chunksize azureblob,b2,s3: fix chunksize calculations producing too many parts 2022-08-09 12:57:38 +01:00
config operations: implement uploads to temp name with --inplace to disable 2023-05-09 16:28:10 +01:00
dirtree all: fix spelling across the project 2022-08-30 11:16:26 +02:00
driveletter build: add package comments to silence revive linter 2022-08-28 13:43:51 +02:00
filter build: add lint ignore comment required for golangci-staticcheck in addition to stand-alone staticcheck 2023-03-26 14:28:15 +02:00
fserrors Fix lint issues reported by staticcheck 2022-06-13 21:13:50 +02:00
fshttp fs:Added multiple ca certificate support. 2023-01-17 12:16:11 +00:00
fspath fspath: allow the symbols at and plus in remote names - fixes #6710 2023-01-25 13:37:24 +01:00
hash build: add package comments to silence revive linter 2022-08-28 13:43:51 +02:00
list Remove github.com/pkg/errors and replace with std library version 2021-11-07 11:53:30 +00:00
log Fix lint issues reported by staticcheck 2022-06-13 21:13:50 +02:00
march test: replace defer cleanup with t.Cleanup 2022-12-09 14:38:05 +00:00
object fs/object: add WithMetadata and WithMimetype to static and memory objects 2022-11-10 12:04:35 +00:00
operations operations: implement uploads to temp name with --inplace to disable 2023-05-09 16:28:10 +01:00
rc mockfs: make it so it can be registered as an Fs 2023-04-28 14:31:05 +01:00
sync sync,copy,move: make sure we output a debug log on start of transfer 2023-04-04 09:41:36 +01:00
walk mockfs: make it so it can be registered as an Fs 2023-04-28 14:31:05 +01:00
backend_config_test.go fs: add --all to rclone config create/update to ask all the config questions #3455 2021-05-14 14:07:44 +01:00
backend_config.go fs: fix typos found by codespell 2023-03-25 12:51:04 +01:00
bwtimetable_test.go Use binary prefixes for size and rate units 2021-04-27 02:25:52 +03:00
bwtimetable.go build: reformat comments to pass go1.19 vet 2022-08-05 16:35:41 +01:00
config_list_test.go fs: fix tests for *SepList 2018-08-21 10:58:59 +01:00
config_list.go Make flags show up with their proper names, eg SizeSuffix rather than int 2019-02-07 11:57:26 +00:00
config_test.go build: add lint ignore comment required for golangci-staticcheck in addition to stand-alone staticcheck 2023-03-26 14:28:15 +02:00
config.go operations: implement uploads to temp name with --inplace to disable 2023-05-09 16:28:10 +01:00
configmap.go config: fix in memory config not saving on the fly backend config 2021-07-20 12:09:38 +01:00
countsuffix_test.go Use decimal prefixes for counts 2021-04-27 02:25:52 +03:00
countsuffix.go Remove github.com/pkg/errors and replace with std library version 2021-11-07 11:53:30 +00:00
cutoffmode_test.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
cutoffmode.go Error strings should not be capitalized 2022-06-23 23:26:02 +02:00
daemon_other.go mountlib: correctly daemonize for compatibility with automount - #5593 2021-10-02 23:45:16 +03:00
daemon_unix.go mountlib: correctly daemonize for compatibility with automount - #5593 2021-10-02 23:45:16 +03:00
deletemode.go Break the fs package up into smaller parts. 2018-01-15 17:51:14 +00:00
dir.go fs: Add --default-time flag to control unknown modtime of files/dirs 2023-05-04 15:03:11 +01:00
direntries_test.go build: fix up package paths after repo move 2019-07-28 18:47:38 +01:00
direntries.go fs: Allow sync of a file and a directory with the same name 2019-06-09 15:57:05 +01:00
dump_test.go Error strings should not be capitalized 2022-06-23 23:26:02 +02:00
dump.go Error strings should not be capitalized 2022-06-23 23:26:02 +02:00
features.go fs: Implement PartialUploads feature flag 2023-05-09 16:28:10 +01:00
fingerprint_test.go mockfs: make it so it can be registered as an Fs 2023-04-28 14:31:05 +01:00
fingerprint.go fs: add Fingerprint to detect changes in an object 2020-06-30 12:01:36 +01:00
fs_test.go Remove github.com/pkg/errors and replace with std library version 2021-11-07 11:53:30 +00:00
fs.go sync: update docs and error messages to reflect fixes to overlap checks 2022-07-13 16:04:53 +01:00
log_test.go fs: Add string alternatives for setting options over the rc 2021-02-07 14:56:41 +00:00
log.go build: reformat comments to pass go1.19 vet 2022-08-05 16:35:41 +01:00
metadata_test.go fs: add --metadata-set flag to specify metadata for uploads 2022-06-29 14:29:36 +01:00
metadata.go fs: add --metadata/-M flag to control whether metadata is copied 2022-06-29 14:29:36 +01:00
mimetype.go Do not override mime types from os defaults 2021-10-18 13:28:22 +01:00
mount_helper_test.go rclone.mount: ignore _netdev mount argument - FIxes #5808 2022-05-12 20:27:13 +01:00
mount_helper.go build: reformat comments to pass go1.19 vet 2022-08-05 16:35:41 +01:00
newfs_test.go fs: make ConfigString properly reverse suffixed file systems 2023-04-28 14:31:05 +01:00
newfs.go fs: make ConfigString properly reverse suffixed file systems 2023-04-28 14:31:05 +01:00
open_options_test.go fs: add --metadata-set flag to specify metadata for uploads 2022-06-29 14:29:36 +01:00
open_options.go build: reformat comments to pass go1.19 vet 2022-08-05 16:35:41 +01:00
override_test.go fs: move operations.NewOverrideRemote to fs.NewOverrideRemote 2022-11-21 08:02:09 +00:00
override.go fs: when creating new fs.OverrideRemotes don't layer overrides if not needed 2023-05-09 16:28:10 +01:00
pacer.go fs: fix infinite recursive call in pacer ModifyCalculator (fixes issue reported by the staticcheck linter) 2023-03-26 14:28:15 +02:00
parseduration_test.go accounting: limit length of ETA string 2023-02-04 17:29:08 +01:00
parseduration.go accounting: limit length of ETA string 2023-02-04 17:29:08 +01:00
parsetime_test.go rc: fix output of Time values in options/get 2023-05-04 15:04:11 +01:00
parsetime.go rc: fix output of Time values in options/get 2023-05-04 15:04:11 +01:00
registry.go all: fix spelling across the project 2022-08-30 11:16:26 +02:00
sizesuffix_test.go Change byte unit format from MiByte to MiB 2021-08-31 09:57:27 +02:00
sizesuffix.go Remove github.com/pkg/errors and replace with std library version 2021-11-07 11:53:30 +00:00
terminalcolormode_test.go fs: Add global flag '--color' to control terminal colors 2022-12-06 12:07:06 +00:00
terminalcolormode.go fs: Add global flag '--color' to control terminal colors 2022-12-06 12:07:06 +00:00
tristate_test.go fs: fix tristate conversion to JSON 2023-03-27 16:17:49 +01:00
tristate.go fs: fix tristate conversion to JSON 2023-03-27 16:17:49 +01:00
types.go fs: implement optional Metadata interface for Objects #111 2022-06-29 11:21:29 +01:00
version.go Configurable version suffix independent of version number 2022-05-17 12:10:01 +01:00
versioncheck.go build: update to go1.20rc3 and make go1.17 the minimum required version 2023-01-16 11:19:16 +00:00
versionsuffix.go Configurable version suffix independent of version number 2022-05-17 12:10:01 +01:00
versiontag.go Start v1.63.0-DEV development 2023-03-14 15:18:54 +00:00