Document --omit-dir-times.
[rsync/rsync.git] / rsync.yo
index 2989121..fd5bf9c 100644 (file)
--- a/rsync.yo
+++ b/rsync.yo
@@ -319,17 +319,19 @@ verb(
      --suffix=SUFFIX         backup suffix (default ~ w/o --backup-dir)
  -u, --update                update only (don't overwrite newer files)
      --inplace               update the destination files in-place
      --suffix=SUFFIX         backup suffix (default ~ w/o --backup-dir)
  -u, --update                update only (don't overwrite newer files)
      --inplace               update the destination files in-place
- -K, --keep-dirlinks         treat symlinked dir on receiver as dir
+ -d, --dirs                  transfer directories without recursing
  -l, --links                 copy symlinks as symlinks
  -L, --copy-links            copy the referent of all symlinks
      --copy-unsafe-links     copy the referent of "unsafe" symlinks
      --safe-links            ignore "unsafe" symlinks
  -H, --hard-links            preserve hard links
  -l, --links                 copy symlinks as symlinks
  -L, --copy-links            copy the referent of all symlinks
      --copy-unsafe-links     copy the referent of "unsafe" symlinks
      --safe-links            ignore "unsafe" symlinks
  -H, --hard-links            preserve hard links
+ -K, --keep-dirlinks         treat symlinked dir on receiver as dir
  -p, --perms                 preserve permissions
  -o, --owner                 preserve owner (root only)
  -g, --group                 preserve group
  -D, --devices               preserve devices (root only)
  -t, --times                 preserve times
  -p, --perms                 preserve permissions
  -o, --owner                 preserve owner (root only)
  -g, --group                 preserve group
  -D, --devices               preserve devices (root only)
  -t, --times                 preserve times
+ -O, --omit-dir-times        omit directories when preserving times
  -S, --sparse                handle sparse files efficiently
  -n, --dry-run               show what would have been transferred
  -W, --whole-file            copy whole files, no incremental checks
  -S, --sparse                handle sparse files efficiently
  -n, --dry-run               show what would have been transferred
  -W, --whole-file            copy whole files, no incremental checks
@@ -341,14 +343,14 @@ verb(
      --existing              only update files that already exist
      --ignore-existing       ignore files that already exist on receiver
      --delete                delete files that don't exist on sender
      --existing              only update files that already exist
      --ignore-existing       ignore files that already exist on receiver
      --delete                delete files that don't exist on sender
-     --delete-excluded       also delete excluded files on receiver
      --delete-after          receiver deletes after transfer, not before
      --delete-after          receiver deletes after transfer, not before
+     --delete-excluded       also delete excluded files on receiver
      --ignore-errors         delete even if there are I/O errors
      --ignore-errors         delete even if there are I/O errors
+     --force                 force deletion of dirs even if not empty
      --max-delete=NUM        don't delete more than NUM files
      --max-size=SIZE         don't transfer any file larger than SIZE
      --partial               keep partially transferred files
      --partial-dir=DIR       put a partially transferred file into DIR
      --max-delete=NUM        don't delete more than NUM files
      --max-size=SIZE         don't transfer any file larger than SIZE
      --partial               keep partially transferred files
      --partial-dir=DIR       put a partially transferred file into DIR
-     --force                 force deletion of dirs even if not empty
      --numeric-ids           don't map uid/gid values by user/group name
      --timeout=TIME          set I/O timeout in seconds
  -I, --ignore-times          turn off mod time & file size quick check
      --numeric-ids           don't map uid/gid values by user/group name
      --timeout=TIME          set I/O timeout in seconds
  -I, --ignore-times          turn off mod time & file size quick check
@@ -375,6 +377,7 @@ verb(
      --progress              show progress during transfer
      --log-format=FORMAT     log file transfers using specified format
      --password-file=FILE    get password from FILE
      --progress              show progress during transfer
      --log-format=FORMAT     log file transfers using specified format
      --password-file=FILE    get password from FILE
+     --list-only             list the files instead of copying them
      --bwlimit=KBPS          limit I/O bandwidth, KBytes per second
      --write-batch=FILE      write a batch to FILE 
      --read-batch=FILE       read a batch from FILE
      --bwlimit=KBPS          limit I/O bandwidth, KBytes per second
      --write-batch=FILE      write a batch to FILE 
      --read-batch=FILE       read a batch from FILE
@@ -458,8 +461,7 @@ finding multiply-linked files is expensive.  You must separately
 specify bf(-H).
 
 dit(bf(-r, --recursive)) This tells rsync to copy directories
 specify bf(-H).
 
 dit(bf(-r, --recursive)) This tells rsync to copy directories
-recursively. If you don't specify this then rsync won't copy
-directories at all.
+recursively.  See also --dirs (-d).
 
 dit(bf(-R, --relative)) Use relative paths. This means that the full path
 names specified on the command line are sent to the server rather than
 
 dit(bf(-R, --relative)) Use relative paths. This means that the full path
 names specified on the command line are sent to the server rather than
@@ -529,10 +531,6 @@ symlink where the destination has a file, the transfer would occur
 regardless of the timestamps.  This might change in the future (feel
 free to comment on this on the mailing list if you have an opinion).
 
 regardless of the timestamps.  This might change in the future (feel
 free to comment on this on the mailing list if you have an opinion).
 
-dit(bf(-K, --keep-dirlinks)) On the receiving side, if a symlink is
-pointing to a directory, it will be treated as matching a directory
-from the sender.
-
 dit(bf(--inplace)) This causes rsync not to create a new copy of the file
 and then move it into place.  Instead rsync will overwrite the existing
 file, meaning that the rsync algorithm can't accomplish the full amount of
 dit(bf(--inplace)) This causes rsync not to create a new copy of the file
 and then move it into place.  Instead rsync will overwrite the existing
 file, meaning that the rsync algorithm can't accomplish the full amount of
@@ -556,6 +554,13 @@ should not use this option to update files that are in use.  Also note that
 rsync will be unable to update a file in-place that is not writable by the
 receiving user.
 
 rsync will be unable to update a file in-place that is not writable by the
 receiving user.
 
+dit(bf(-d, --dirs)) Tell the sending side to include any directories that
+are encountered.  Unlike --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
+--recursive option, rsync will skip all directories it encounters (and
+output a message to that effect for each one).
+
 dit(bf(-l, --links)) When symlinks are encountered, recreate the
 symlink on the destination.
 
 dit(bf(-l, --links)) When symlinks are encountered, recreate the
 symlink on the destination.
 
@@ -587,6 +592,10 @@ are in the list of files being sent.
 
 This option can be quite slow, so only use it if you need it.
 
 
 This option can be quite slow, so only use it if you need it.
 
+dit(bf(-K, --keep-dirlinks)) On the receiving side, if a symlink is
+pointing to a directory, it will be treated as matching a directory
+from the sender.
+
 dit(bf(-W, --whole-file)) With this option the incremental rsync algorithm
 is not used and the whole file is sent as-is instead.  The transfer may be
 faster if this option is used when the bandwidth between the source and
 dit(bf(-W, --whole-file)) With this option the incremental rsync algorithm
 is not used and the whole file is sent as-is instead.  The transfer may be
 faster if this option is used when the bandwidth between the source and
@@ -630,6 +639,10 @@ cause the next transfer to behave as if it used -I, causing all files to be
 updated (though the rsync algorithm will make the update fairly efficient
 if the files haven't actually changed, you're much better off using -t).
 
 updated (though the rsync algorithm will make the update fairly efficient
 if the files haven't actually changed, you're much better off using -t).
 
+dit(bf(-O, --omit-dir-times)) This tells rsync to omit directories when
+the preserving of modification times is enabled (see --times).  If NFS
+is sharing the files on the receiving end, it is a good idea to use -O.
+
 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.
 
 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.
 
@@ -669,7 +682,7 @@ by the shell and rsync thus gets a request to transfer those files, not
 the files' parent directory.  Files that are excluded from transfer are
 excluded from being deleted unless you use --delete-excluded.
 
 the files' parent directory.  Files that are excluded from transfer are
 excluded from being deleted unless you use --delete-excluded.
 
-This option has no effect if directory recursion is not selected.
+This option has no effect unless directory recursion is enabled.
 
 This option can be dangerous if used incorrectly!  It is a very good idea
 to run first using the --dry-run option (-n) to see what files would be
 
 This option can be dangerous if used incorrectly!  It is a very good idea
 to run first using the --dry-run option (-n) to see what files would be
@@ -681,11 +694,6 @@ prevent temporary filesystem failures (such as NFS errors) on the
 sending side causing a massive deletion of files on the
 destination.  You can override this with the --ignore-errors option.
 
 sending side causing a massive deletion of files on the
 destination.  You can override this with the --ignore-errors option.
 
-dit(bf(--delete-excluded)) In addition to deleting the files on the
-receiving side that are not on the sending side, this tells rsync to also
-delete any files on the receiving side that are excluded (see --exclude).
-Implies --delete.
-
 dit(bf(--delete-after)) By default rsync does file deletions on the
 receiving side before transferring files to try to ensure that there is
 sufficient space on the receiving filesystem. If you want to delete
 dit(bf(--delete-after)) By default rsync does file deletions on the
 receiving side before transferring files to try to ensure that there is
 sufficient space on the receiving filesystem. If you want to delete
@@ -695,6 +703,11 @@ One reason to use --delete-after is to avoid a delay before the start of
 the transfer (while the receiving side is scanned for deletions) as this
 delay might cause the transfer to timeout.  
 
 the transfer (while the receiving side is scanned for deletions) as this
 delay might cause the transfer to timeout.  
 
+dit(bf(--delete-excluded)) In addition to deleting the files on the
+receiving side that are not on the sending side, this tells rsync to also
+delete any files on the receiving side that are excluded (see --exclude).
+Implies --delete.
+
 dit(bf(--ignore-errors)) Tells --delete to go ahead and delete files
 even when there are I/O errors.
 
 dit(bf(--ignore-errors)) Tells --delete to go ahead and delete files
 even when there are I/O errors.
 
@@ -1017,6 +1030,13 @@ transport, not when using a remote shell as the transport. The file
 must not be world readable. It should contain just the password as a
 single line.
 
 must not be world readable. It should contain just the password as a
 single line.
 
+dit(bf(--list-only)) This option will cause the source files to be listed
+instead of transferred.  This option is inferred if there is no destination
+specified, so you don't usually need to use it explicitly.  However, it can
+come in handy for a power user that wants to avoid the "-r --exclude="/*/*"
+options that rsync might use as a compatibility kluge when generating a
+non-recursive listing.
+
 dit(bf(--bwlimit=KBPS)) This option allows you to specify a maximum
 transfer rate in kilobytes per second. This option is most effective when
 using rsync with large files (several megabytes and up). Due to the nature
 dit(bf(--bwlimit=KBPS)) This option allows you to specify a maximum
 transfer rate in kilobytes per second. This option is most effective when
 using rsync with large files (several megabytes and up). Due to the nature