New -x code had some problems, so restore the old code for now
[rsync/rsync.git] / rsync.yo
index e252280..9faf38e 100644 (file)
--- a/rsync.yo
+++ b/rsync.yo
@@ -624,11 +624,11 @@ data is required).
 
 dit(bf(-d, --dirs)) Tell the sending side to include any directories that
 are encountered.  Unlike bf(--recursive), a directory's contents are not copied
-unless the directory was specified on the command-line as either "." or a
-name with a trailing slash (e.g. "foo/").  Without this option or the
+unless the directory name specified is "." or ends with a trailing slash
+(e.g. ".", "dir/.", "dir/", etc.).  Without this option or the
 bf(--recursive) option, rsync will skip all directories it encounters (and
 output a message to that effect for each one).  If you specify both
-bf(--dirs) and bf(--recursive), the latter takes precedence.
+bf(--dirs) and bf(--recursive), bf(--recursive) takes precedence.
 
 dit(bf(-l, --links)) When symlinks are encountered, recreate the
 symlink on the destination.
@@ -719,6 +719,8 @@ item that should only apply to a file by prefixing it with a 'F'.  For example:
 
 quote(--chmod=Dg+s,ug+w,Fo-w,+X)
 
+It is also legal to specify multiple bf(--chmod) options.
+
 dit(bf(-n, --dry-run)) This tells rsync to not do any file transfers,
 instead it will just report the actions it would have taken.
 
@@ -734,6 +736,21 @@ 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.
+
+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.
+
+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.
+
 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
 combined with the bf(--ignore-existing) option, no files will be updated
@@ -760,7 +777,7 @@ include/exclude modifiers in the FILTER RULES section).
 
 Prior to rsync 2.6.7, this option would have no effect unless bf(--recursive)
 was in effect.  Beginning with 2.6.7, deletions will also occur when bf(--dirs)
-is specified, but only for directories whose contents are being copied.
+(bf(-d)) is in effect, but only for directories whose contents are being copied.
 
 This option can be dangerous if used incorrectly!  It is a very good idea
 to run first using the bf(--dry-run) option (bf(-n)) to see what files would be
@@ -1158,6 +1175,10 @@ ssh prefers non-blocking I/O.)
 dit(bf(-i, --itemize-changes)) Requests a simple itemized list of the
 changes that are being made to each file, including attribute changes.
 This is exactly the same as specifying bf(--log-format='%i %n%L').
+If you repeat the option, unchanged files will also be output, but only
+if the receiving rsync is at least version 2.6.7 (you can use bf(-vv)
+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