rclone/backend/local
nielash 462a1cf491 local: fix --copy-links on macOS when cloning
Before this change, --copy-links erroneously behaved like --links when using cloning
on macOS, and cloning was not supported at all when using --links.

After this change, --copy-links does what it's supposed to, and takes advantage of
cloning when possible, by copying the file being linked to instead of the link
itself.

Cloning is now also supported in --links mode for regular files (which benefit
most from cloning). symlinks in --links mode continue to be tossed back to be
handled by rclone's special translation logic.

See https://forum.rclone.org/t/macos-local-to-local-copy-with-copy-links-causes-error/47671/5?u=nielash
2024-09-20 17:43:52 +01:00
..
about_unix.go build: fix linting issues reported by running golangci-lint with different GOOS 2024-04-22 19:29:12 +02:00
about_windows.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
clone_darwin.go local: fix --copy-links on macOS when cloning 2024-09-20 17:43:52 +01:00
fadvise_other.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
fadvise_unix.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
lchtimes_unix.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
lchtimes.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
local_internal_test.go local: fix --copy-links on macOS when cloning 2024-09-20 17:43:52 +01:00
local_test.go backend: allow wrapping backend tests to run in make quicktest 2022-06-29 17:30:37 +01:00
local.go local: --local-no-clone flag to disable cloning for server-side copies 2024-08-15 15:36:38 +01:00
metadata_bsd.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
metadata_linux.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
metadata_other.go build: fix linting issues reported by running golangci-lint with different GOOS 2024-04-22 19:29:12 +02:00
metadata_unix.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
metadata_windows.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
metadata.go local: fix incorrect conversion between integer types 2024-08-18 10:29:36 +02:00
read_device_other.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
read_device_unix.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
remove_other.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
remove_test.go Replace deprecated ioutil 2022-11-07 11:41:47 +00:00
remove_windows.go build: fix linting issues reported by golangci-lint on windows 2024-04-22 19:29:12 +02:00
setbtime_windows.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
setbtime.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
symlink_other.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
symlink.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00
tests_test.go local: refactor default os encoding out from local backend into shared encoder lib 2021-08-19 20:14:50 +02:00
xattr_unsupported.go build: fix linting issues reported by running golangci-lint with different GOOS 2024-04-22 19:29:12 +02:00
xattr.go build: remove build constraint syntax for go 1.16 and older 2024-04-18 16:53:55 +02:00