Document the new --specials option and how -D and --devices now work.
[rsync/rsync.git] / rsync.yo
index 9faf38e..0cd056f 100644 (file)
--- a/rsync.yo
+++ b/rsync.yo
@@ -318,7 +318,9 @@ to the detailed description below for a complete description.  verb(
  -p, --perms                 preserve permissions
  -o, --owner                 preserve owner (root only)
  -g, --group                 preserve group
- -D, --devices               preserve devices (root only)
+     --devices               preserve device files (root only)
+     --specials              preserve special files
+ -D                          same as --devices --specials
  -t, --times                 preserve times
  -O, --omit-dir-times        omit directories when preserving times
      --chmod=CHMOD           change destination permissions
@@ -694,10 +696,15 @@ receiver is a member of will be preserved.  By default, the preservation
 is done by name, but may fall back to using the ID number in some
 circumstances.  See the bf(--numeric-ids) option for a full discussion.
 
-dit(bf(-D, --devices)) This option causes rsync to transfer character and
+dit(bf(--devices)) This option causes rsync to transfer character and
 block device information to the remote system to recreate these
 devices. This option is only available to the super-user.
 
+dit(bf(--specials)) This option causes rsync to transfer special files
+such as named sockets and fifos.
+
+dit(bf(-D)) The bf(-D) option is equivalent to bf(--devices) bf(--specials).
+
 dit(bf(-t, --times)) This tells rsync to transfer modification times along
 with the files and update them on the remote system.  Note that if this
 option is not used, the optimization that excludes files that have not been
@@ -732,24 +739,23 @@ NOTE: Don't use this option when the destination is a Solaris "tmpfs"
 filesystem. It doesn't seem to handle seeks over null regions
 correctly and ends up corrupting the files.
 
-dit(bf(-x, --one-file-system)) This tells rsync not to cross filesystem
-boundaries  when recursing.  This  is useful for transferring the
-contents of only one filesystem.
-
-dit(bf(-x, --one-file-system)) This tells rsync to avoid recursing into a
-directory that is the mount-point for another filesystem, including (as of
-2.6.7), "bind" mount-points.  You can still copy the contents of multiple
-file systems if you include a source dir from each file system -- this just
-limits rsync's directory-recursion algorithm.
+dit(bf(-x, --one-file-system)) This tells rsync to avoid crossing a
+filesystem boundary when recursing.  This does not limit the user's ability
+to specify items to copy from multiple filesystems, just rsync's recursion
+through the hierarchy of each directory that the user specified, and also
+the analogous recursion on the receiving side during deletion.  Also keep
+in mind that rsync treats a "bind" mount to the same device as being on the
+same filesystem.  
 
-Rsync will copy the directory at each encountered mount-point unless this
-option is repeated.  Note, however, that the attributes of this mount-point
-directory are copied from those currently visible in the filesystem, not
-the inaccessible attributes of the underlying directory.
+If this option is repeated, rsync omits all mount-point directories from
+the copy.  Otherwise, it includes an empty directory at each mount-point it
+encounters (using the attributes of the mounted directory because those of
+the underlying mount-point directory are inaccessible).
 
-This option does not affect the "collapsing" of symlinks that options such
-as bf(--copy-links) perform, irrespective of what filesystem the symlink's
-referent may be on.
+If rsync has been told to collapse symlinks (via bf(--copy-links) or
+bf(--copy-unsafe-links)), a symlink to a directory on another device is
+treated like a mount-point.  Symlinks to non-directories are unaffected
+by this option.
 
 dit(bf(--existing, --ignore-non-existing)) This tells rsync to skip
 updating files that do not exist yet on the destination.  If this option is
@@ -1181,7 +1187,7 @@ with older versions of rsync, but that also turns on the output of other
 verbose messages).
 
 The "%i" escape has a cryptic output that is 9 letters long.  The general
-format is like the string bf(UXcstpoga)), where bf(U) is replaced by the
+format is like the string bf(UXcstpog)), where bf(U) is replaced by the
 kind of update being done, bf(X) is replaced by the file-type, and the
 other letters represent attributes that may be output if they are being
 modified.
@@ -1202,7 +1208,8 @@ quote(itemize(
 ))
 
 The file-types that replace the bf(X) are: bf(f) for a file, a bf(d) for a
-directory, an bf(L) for a symlink, and a bf(D) for a device.
+directory, an bf(L) for a symlink, a bf(D) for a device, and a bf(S) for a
+special file (e.g. named sockets and fifos).
 
 The other letters in the string above are the actual letters that
 will be output if the associated attribute for the item is being updated or
@@ -1229,8 +1236,6 @@ quote(itemize(
   sender's value (requires bf(--owner) and root privileges).
   it() A bf(g) means the group is different and is being updated to the
   sender's value (requires bf(--group) and the authority to set the group).
-  it() The bf(a) is reserved for a future enhanced version that supports
-  extended file attributes, such as ACLs.
 ))
 
 One other output is possible:  when deleting files, the "%i" will output