Nick Craig-Wood
b1d774c2e3
combine: implement ListP interface
2025-04-08 15:14:09 +01:00
Nick Craig-Wood
cc634213a5
fs: define the optional interface SetMetadata and implement it in wrapping backends
...
This also implements backend integration tests for the feature
2024-05-14 12:51:03 +01:00
nielash
252562d00a
combine: fix CopyDirMetadata error on upstream root
...
Before this change, operations.CopyDirMetadata would fail with: `internal error:
expecting directory string from combine root '' to have SetMetadata method:
optional feature not implemented` if the dst was the root directory of a combine
upstream. This is because combine was returning a *fs.Dir, which does not
satisfy the fs.SetMetadataer interface.
While it is true that combine cannot set metadata on the root of an upstream
(see also #7652 ), this should not be considered an error that causes sync to do
high-level retries, abort without doing deletes, etc.
This change addresses the issue by creating a new type of DirWrapper that is
allowed to fail silently, for exceptional cases such as this where certain
special directories have more limited abilities than what the Fs usually
supports.
It is possible that other similar wrapping backends (Union?) may need this same
fix.
2024-03-07 11:09:07 +00:00
Nick Craig-Wood
39db8caff1
cache,chunker,combine,compress,crypt,hasher,union: implement MkdirMetadata and related Features
2024-02-28 16:09:04 +00:00
nielash
0297542f6b
cache,chunker,combine,compress,crypt,hasher,union: implement DirSetModTime (if supported by wrapped remote)
2024-02-28 16:09:04 +00:00
Nick Craig-Wood
e953598987
build: fix lint errors when re-enabling revive exported & package-comments
2023-08-29 13:03:13 +01:00
Vitor Gomes
f36ca0cd25
features: add new interfaces OpenChunkWriter and ChunkWriter #7056
2023-08-12 17:55:01 +01:00
Dimitri Papadopoulos
708391a5bf
backend: fix misspellings found by codespell
2023-06-26 14:34:52 +01:00
Nick Craig-Wood
3faa84b47c
combine,compress,crypt,hasher,union: support wrapping backends with PartialUploads
...
This means that, for example, wrapping a sftp backend with crypt will
upload to a temporary name and then rename unless disabled with
--inplace.
See: https://forum.rclone.org/t/backup-versioning/38978/7
2023-06-14 10:52:03 +01:00
Nick Craig-Wood
487e4f09b3
combine: implement missing methods
...
Implement these missing methods:
- PublicLink
- PutUnchecked
- MergeDirs
- CleanUp
- OpenWriterAt
And declare these ones unimplementable:
- UnWrap
- WrapFs
- SetWrapper
- UserInfo
- Disconnect
Fixes #6999
2023-05-14 11:22:57 +01:00
Nick Craig-Wood
09a408664d
fs: create Overlay feature flag to indicate backend wraps others
...
Set this automatically for any backend which implements UnWrap and
manually for combine and union which can't implement UnWrap but do
overlay other backends.
2023-05-14 11:22:57 +01:00
Nick Craig-Wood
dea6bdf3df
combine: fix goroutine stack overflow on bad object
...
If the Remote() call failed to do its path adjustment, then it would
recursively call Remote() as part of logging the failure and cause a
stack overflow.
This fixes it by logging the underlying object instead.
See: https://forum.rclone.org/t/rclone-runtime-goroutine-stack-exceeds-1000000000-byte-limit/37912
2023-05-03 13:51:27 +01:00
Dimitri Papadopoulos
bfe272bf67
backend: fix typos found by codespell
2023-03-24 11:34:14 +00:00
Nick Craig-Wood
dd71f5d968
fs: move operations.NewOverrideRemote to fs.NewOverrideRemote
2022-11-21 08:02:09 +00:00
Josh Soref
ce3b65e6dc
all: fix spelling across the project
...
* abcdefghijklmnopqrstuvwxyz
* accounting
* additional
* allowed
* almost
* already
* appropriately
* arise
* bandwidth
* behave
* bidirectional
* brackets
* cached
* characters
* cloud
* committing
* concatenating
* configured
* constructs
* current
* cutoff
* deferred
* different
* directory
* disposition
* dropbox
* either way
* error
* excess
* experiments
* explicitly
* externally
* files
* github
* gzipped
* hierarchies
* huffman
* hyphen
* implicitly
* independent
* insensitive
* integrity
* libraries
* literally
* metadata
* mimics
* missing
* modification
* multipart
* multiple
* nightmare
* nonexistent
* number
* obscure
* ourselves
* overridden
* potatoes
* preexisting
* priority
* received
* remote
* replacement
* represents
* reproducibility
* response
* satisfies
* sensitive
* separately
* separator
* specifying
* string
* successful
* synchronization
* syncing
* šenfeld
* take
* temporarily
* testcontents
* that
* the
* themselves
* throttling
* timeout
* transaction
* transferred
* unnecessary
* using
* webbrowser
* which
* with
* workspace
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-08-30 11:16:26 +02:00
Nick Craig-Wood
6fd9e3d717
build: reformat comments to pass go1.19 vet
...
See: https://go.dev/doc/go1.19#go-doc
2022-08-05 16:35:41 +01:00
Nick Craig-Wood
821e084f28
combine: fix errors with backends shutting down while in use
...
Before this patch backends could be shutdown when they fell out of the
cache when they were in use with combine. This was particularly
noticeable with the dropbox backend which gave this error when
uploading files after the backend was Shutdown.
Failed to copy: upload failed: batcher is shutting down
This patch gets the combine remote to pin them until it is finished.
See: https://forum.rclone.org/t/rclone-combine-upload-failed-batcher-is-shutting-down/32168
2022-08-04 10:13:41 +01:00
Nick Craig-Wood
9c6cfc1ff0
combine: throw error if duplicate directory name is specified
...
See: https://forum.rclone.org/t/v1-59-combine-qs/31814
2022-07-10 15:40:30 +01:00
Nick Craig-Wood
8c483daf85
combine: support metadata
2022-06-29 17:30:37 +01:00
Nick Craig-Wood
866c873daa
backend: allow wrapping backend tests to run in make quicktest
2022-06-29 17:30:37 +01:00
albertony
ec117593f1
Fix lint issues reported by staticcheck
...
Used staticcheck 2022.1.2 (v0.3.2)
See: staticcheck.io
2022-06-13 21:13:50 +02:00
Nick Craig-Wood
4b358ff43b
combine: backend to combine multiple remotes in one directory tree
...
Fixes #5600
2022-06-08 14:57:25 +01:00