summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne Davison <wayne@opencoder.net>2022-08-23 20:59:13 -0700
committerWayne Davison <wayne@opencoder.net>2022-08-23 21:02:41 -0700
commitad8917437ac443a3f2e35294594a8b417618d4ca (patch)
treef678de43bed5fb120775c26dac86331cf56fb8e3
parent1b664d30e4966a1be4a19fd816847dc664ef3436 (diff)
downloadrsync-ad8917437ac443a3f2e35294594a8b417618d4ca.tar.gz
Mention that copying to a case-ignoring filesystem can be problematical.
-rw-r--r--rsync.1.md18
1 files changed, 18 insertions, 0 deletions
diff --git a/rsync.1.md b/rsync.1.md
index 2fbc6e11..dfdd7df3 100644
--- a/rsync.1.md
+++ b/rsync.1.md
@@ -195,6 +195,24 @@ Dedicate a "host1-files" dir to the remote content:
See the [`--trust-sender`](#opt) option for additional details.
+CAUTION: it is not particularly safe to use rsync to copy files from a
+case-preserving filesystem to a case-ignoring filesystem. If you must perform
+such a copy, you should either disable symlinks via `--no-links` or enable the
+munging of symlinks via [`--munge-links`](#opt)) (and make sure you use the
+right local or remote option). This will prevent rsync from doing potentially
+dangerous things if a symlink name overlaps with a file or directory. It does
+not, however, ensure that you get a full copy of all the files (since that may
+not be possible when the names overlap). A potentially better solution is to
+list all the source files and create a safe list of filenames that you pass to
+the [`--files-from`)(#opt) option. Any files that conflict in name would need
+to be copied to different destination directories using more than one copy.
+
+While a copy of a case-ignoring filesystem to a case-ignoring filesystem can
+work out fairly well, if no `--delete-during` or `--delete-before` option is
+active, rsync can potentially update an existing file on the receiveing side
+without noticing that the upper-/lower-case of the filename should be changed
+to match the sender.
+
## ADVANCED USAGE
The syntax for requesting multiple files from a remote host is done by