- Changed --keep-dirs (-k) into --dirs (-d).
[rsync/rsync.git] / rsync.yo
index 2989121..77f462a 100644 (file)
--- a/rsync.yo
+++ b/rsync.yo
@@ -319,6 +319,7 @@ 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-dirs             transfer a directory without recursing
  -K, --keep-dirlinks         treat symlinked dir on receiver as dir
  -l, --links                 copy symlinks as symlinks
  -L, --copy-links            copy the referent of all symlinks
  -K, --keep-dirlinks         treat symlinked dir on receiver as dir
  -l, --links                 copy symlinks as symlinks
  -L, --copy-links            copy the referent of all symlinks
@@ -341,14 +342,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
@@ -458,8 +459,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 --keep-dirs (-k).
 
 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,6 +529,13 @@ 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-dirs)) Tell the sending side to keep 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(-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(-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.
@@ -669,7 +676,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 +688,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 +697,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.