Made msg_list_push() static and renamed it to msg_list_flush().
[rsync/rsync.git] / rsync.yo
index 4b20d9d..6fe98a0 100644 (file)
--- a/rsync.yo
+++ b/rsync.yo
@@ -321,6 +321,7 @@ to the detailed description below for a complete description.  verb(
  -D, --devices               preserve devices (root only)
  -t, --times                 preserve times
  -O, --omit-dir-times        omit directories when preserving times
+     --chmod=CHMOD           change destination permissions
  -S, --sparse                handle sparse files efficiently
  -n, --dry-run               show what would have been transferred
  -W, --whole-file            copy files whole (without rsync algorithm)
@@ -328,8 +329,8 @@ to the detailed description below for a complete description.  verb(
  -B, --block-size=SIZE       force a fixed checksum block-size
  -e, --rsh=COMMAND           specify the remote shell to use
      --rsync-path=PROGRAM    specify the rsync to run on remote machine
-     --existing              only update files that already exist
      --ignore-existing       ignore files that already exist on receiver
+     --ignore-non-existing   ignore files that don't exist on receiver
      --remove-sent-files     sent files/symlinks are removed from sender
      --del                   an alias for --delete-during
      --delete                delete files that don't exist on sender
@@ -341,6 +342,7 @@ to the detailed description below for a complete description.  verb(
      --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
+     --min-size=SIZE         don't transfer any file smaller than SIZE
      --partial               keep partially transferred files
      --partial-dir=DIR       put a partially transferred file into DIR
      --delay-updates         put all updated files into place at end
@@ -355,6 +357,7 @@ to the detailed description below for a complete description.  verb(
      --copy-dest=DIR         ... and include copies of unchanged files
      --link-dest=DIR         hardlink to files in DIR when unchanged
  -z, --compress              compress file data during the transfer
+     --compress-level=NUM    explicitly set compression level
  -C, --cvs-exclude           auto-ignore files in the same way CVS does
  -f, --filter=RULE           add a file-filtering RULE
  -F                          same as --filter='dir-merge /.rsync-filter'
@@ -369,6 +372,8 @@ to the detailed description below for a complete description.  verb(
      --port=PORT             specify double-colon alternate port number
      --blocking-io           use blocking I/O for the remote shell
      --stats                 give some file-transfer stats
+ -h, --human-readable        output numbers in a human-readable format
+     --si                    like human-readable, but use powers of 1000
      --progress              show progress during transfer
  -P                          same as --partial --progress
  -i, --itemize-changes       output a change-summary for all updates
@@ -384,7 +389,7 @@ to the detailed description below for a complete description.  verb(
  -4, --ipv4                  prefer IPv4
  -6, --ipv6                  prefer IPv6
      --version               print version number
-h, --help                  show this help screen)
    --help                  show this help screen)
 
 Rsync can also be run as a daemon, in which case the following options are
 accepted: verb(
@@ -397,7 +402,7 @@ accepted: verb(
  -v, --verbose               increase verbosity
  -4, --ipv4                  prefer IPv4
  -6, --ipv6                  prefer IPv6
-h, --help                  show this help screen)
    --help                  show this help screen)
 
 manpageoptions()
 
@@ -408,8 +413,10 @@ The '=' for options that take a parameter is optional; whitespace
 can be used instead.
 
 startdit()
-dit(bf(-h, --help)) Print a short help page describing the options
-available in rsync.
+dit(bf(--help)) Print a short help page describing the options
+available in rsync and exit.  For backward-compatibility with older
+versions of rsync, the same help output can also be requested by using
+the bf(-h) option without any other args.
 
 dit(bf(--version)) print the rsync version number and exit.
 
@@ -695,6 +702,14 @@ it is preserving modification times (see bf(--times)).  If NFS is sharing
 the directories on the receiving side, it is a good idea to use bf(-O).
 This option is inferred if you use bf(--backup) without bf(--backup-dir).
 
+dit(bf(--chmod)) This options tells rsync to apply the listed "chmod" pattern
+to the permission of the files on the destination.  In addition to the normal
+parsing rules specified in the chmod manpage, you can specify an item that
+should only apply to a directory by prefixing it with a 'D', or specify an
+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)
+
 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.
 
@@ -710,12 +725,15 @@ 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(--existing)) This tells rsync not to create any new files --
-only update files that already exist on the destination.
+dit(bf(--ignore-existing)) This tells rsync to skip updating files that
+already exist on the destination.  See also bf(--ignore-non-existing).
 
-dit(bf(--ignore-existing))
-This tells rsync not to update files that already exist on
-the destination.
+dit(bf(--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 (which can be useful
+if all you want to do is to delete missing files).  Note that in older
+versions of rsync, this option was named bf(--existing), so this older
+name is still accepted as an alias.
 
 dit(bf(--remove-sent-files)) This tells rsync to remove from the sending
 side the files and/or symlinks that are newly created or whose content is
@@ -799,9 +817,25 @@ This is useful when mirroring very large trees to prevent disasters.
 
 dit(bf(--max-size=SIZE)) This tells rsync to avoid transferring any
 file that is larger than the specified SIZE. The SIZE value can be
-suffixed with a letter to indicate a size multiplier (K, M, or G) and
+suffixed with a string to indicate a size multiplier, and
 may be a fractional value (e.g. "bf(--max-size=1.5m)").
 
+The suffixes are as follows: "K" (or "KiB") is a kibibyte (1024),
+"M" (or "MiB") is a mebibyte (1024*1024), and "G" (or "GiB") is a
+gibibyte (1024*1024*1024).
+If you want the multiplier to be 1000 instead of 1024, use "KB",
+"MB", or "GB".  (Note: lower-case is also accepted for all values.)
+Finally, if the suffix ends in either "+1" or "-1", the value will
+be offset by one byte in the indicated direction.
+
+Examples: --max-size=1.5mb-1 is 1499999 bytes, and --max-size=2g+1 is
+2147483649 bytes.
+
+dit(bf(--min-size=SIZE)) This tells rsync to avoid transferring any
+file that is smaller than the specified SIZE, which can help in not
+transferring small, junk files.
+See the bf(--max-size) option for a description of SIZE.
+
 dit(bf(-B, --block-size=BLOCKSIZE)) This forces the block size used in
 the rsync algorithm to a fixed value.  It is normally selected based on
 the size of each file being updated.  See the technical report for details.
@@ -1064,6 +1098,10 @@ be achieved by using a compressing remote shell or a compressing transport
 because it takes advantage of the implicit information in the matching data
 blocks that are not explicitly sent over the connection.
 
+dit(bf(--compress-level=NUM)) Explicitly set the compression level to use
+(see bf(--compress)) instead of letting it default.  If NUM is non-zero,
+the bf(--compress) option is implied.
+
 dit(bf(--numeric-ids)) With this option rsync will transfer numeric group
 and user IDs rather than using user and group names and mapping them
 at both ends.
@@ -1193,6 +1231,13 @@ dit(bf(--stats)) This tells rsync to print a verbose set of statistics
 on the file transfer, allowing you to tell how effective the rsync
 algorithm is for your data.
 
+dit(bf(-h, --human-readable)) Output numbers in a more human-readable format.
+Large numbers may be output in larger units, with a K (1024), M (1024*1024),
+or G (1024*1024*1024) suffix.
+
+dit(bf(--si)) Similar to the bf(--human-readable) option, but using powers
+of 1000 instead of 1024.
+
 dit(bf(--partial)) By default, rsync will delete any partially
 transferred file if the transfer is interrupted. In some circumstances
 it is more desirable to keep partially transferred files. Using the
@@ -1253,11 +1298,9 @@ updated file into a holding directory until the end of the
 transfer, at which time all the files are renamed into place in rapid
 succession.  This attempts to make the updating of the files a little more
 atomic.  By default the files are placed into a directory named ".~tmp~" in
-each file's destination directory, but you can override this by specifying
-the bf(--partial-dir) option.  (Note that RSYNC_PARTIAL_DIR has no effect
-on this value, nor is bf(--partial-dir) considered to be implied for the
-purposes of the daemon-config's "refuse options" setting.)
-Conflicts with bf(--inplace).
+each file's destination directory, but if you've specified the
+bf(--partial-dir) option, that directory will be used instead.
+Conflicts with bf(--inplace) and bf(--append).
 
 This option uses more memory on the receiving side (one bit per file
 transferred) and also requires enough free disk space on the receiving