+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).
+
+Note that, when using the --recursive (-r) option (which is implied by -a),
+every subcomponent of
+every path is visited from the top down, so include/exclude patterns get