-The bf(*) is either bf(<) (receive) or bf(>) (send) or bf(*) (--dry-run) if
-the item is being updated, otherwise it is a space. The bf(X) will be
-replaced by one of the following: an "f" for a file, a "d" for a dir, an
-"L" for a symlink, or a "D" for a device. The rest of the letters in the
-string above are the actual letters that will be output if the associated
-attribute for the item is being updated; otherwise the letter will be
-replaced by either a "-" for no change, or a "+" if this is a new item.
-The meanings of the attribute letters are as follows:
+The bf(*) is either bf(<) (receive), bf(>) (send), or bf(*) (--dry-run) if
+the item is being transferred, otherwise it is a space. This lets you
+distinguish between a file that is getting its attributes changed and a
+file whose content is being updated. Note that when a symlink or a device
+gets its value changed, that is considered to be a transfer.
+
+The bf(X) will be replaced by one of the following: an "f" for a file, a
+"d" for a dir, an "L" for a symlink, or a "D" for a device.
+
+The rest of the letters in the string above are the actual letters that
+will be output if the associated attribute for the item is being updated;
+otherwise the letter will be replaced by a "." for no change, a "+"
+for a new item, or a "?" if the attribute is not known (which happens when
+talking to an older rsync). The meanings of the attribute letters are as
+follows: