-The filenames matched against the exclude/include patterns
-are relative to the destination directory, or "top
-directory", so patterns should not include the path elements
-of the source or destination directories. The only way in
-which a pattern will match the absolute path of a file or
-directory is if the source path is the root directory.
+The filenames matched against the exclude/include patterns are relative
+to the "root of the transfer". If you think of the transfer as a
+subtree of names that are being sent from sender to receiver, the root
+is where the tree starts to be duplicated in the destination directory.
+This root governs where patterns that start with a / match (see below).
+
+Because the matching is relative to the transfer-root, changing the
+trailing slash on the source path or changing your use of the --relative
+option affects the path you need to use in your matching (in addition to
+changing how much of the file tree is duplicated on the destination
+system). The following examples demonstrate this.
+
+Let's say that we want to match a source filename that has an absolute
+path of "/home/me/foo/bar", here is how the various command choices can
+differ:
+
+verb(
+ Example cmd: rsync -a /home/me /dest
+ Source root: /home ("me" is part of transfer)
+ +/- pattern: /me/foo/bar
+ Target file: /dest/me/foo/bar
+
+ Example cmd: rsync -a /home/me/ /dest
+ Source root: /home/me (due to trailing /)
+ +/- pattern: /foo/bar (note missing "me")
+ Target file: /dest/foo/bar
+
+ Example cmd: rsync -a --relative /home/me/ /dest
+ Source root: /home/me
+ +/- pattern: /home/me/foo/bar (note full path)
+ Target file: /dest/home/me/foo/bar
+
+ Example cmd: cd /home; rsync -a --relative me/foo/ /dest
+ Source root: ./me/foo (source is not absolute)
+ +/- pattern: /me/foo/bar (only uses specified path)
+ Target file: /dest/me/foo/bar
+)
+
+The easiest way to see what name you should include/exclude is to just
+look at the output when using --verbose and put a / in front of the name
+(use the --dry-run option if you're not yet ready to copy any files).