Added code to implement the --min-size logic.
[rsync/rsync.git] / rsync.yo
index 9f3c140..d76d166 100644 (file)
--- a/rsync.yo
+++ b/rsync.yo
@@ -3,20 +3,20 @@ manpage(rsync)(1)(28 Jul 2005)()()
 manpagename(rsync)(faster, flexible replacement for rcp)
 manpagesynopsis()
 
+rsync [OPTION]... SRC [SRC]... DEST
+
 rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
 
-rsync [OPTION]... [USER@]HOST:SRC [DEST]
+rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
 
-rsync [OPTION]... SRC [SRC]... DEST
+rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
 
-rsync [OPTION]... [USER@]HOST::SRC [DEST]
+rsync [OPTION]... [USER@]HOST:SRC [DEST]
 
-rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
+rsync [OPTION]... [USER@]HOST::SRC [DEST]
 
 rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
 
-rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
-
 manpagedescription()
 
 rsync is a program that behaves in much the same way that rcp does,
@@ -76,9 +76,6 @@ different remote shell by default, such as rsh or remsh.
 You can also specify any remote shell you like, either by using the bf(-e)
 command line option, or by setting the RSYNC_RSH environment variable.
 
-One common substitute is to use ssh, which offers a high degree of
-security.
-
 Note that rsync must be installed on both the source and destination
 machines.
 
@@ -736,7 +733,9 @@ also excluded from being deleted unless you use the bf(--delete-excluded)
 option or mark the rules as only matching on the sending side (see the
 include/exclude modifiers in the FILTER RULES section).
 
-This option has no effect unless directory recursion is enabled.
+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.
 
 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
@@ -800,9 +799,19 @@ 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 "k") is a kilobyte (1024),
+"M" (or "m") is a megabyte (1024*1024), and "G" (or "g") is a
+gigabyte (1024*1024*1024).
+If you want the multiplier to be 1000 instead of 1024, suffix the K, G, or
+M with a "T" (or "t") to indicate that a power of 10 is desired.
+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.5mt-1 is 1499999 bytes, and --max-size=2g+1 is
+2147483649 bytes.
+
 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.
@@ -889,14 +898,14 @@ See the FILTER RULES section for detailed information on this option.
 dit(bf(-F)) The bf(-F) option is a shorthand for adding two bf(--filter) rules to
 your command.  The first time it is used is a shorthand for this rule:
 
-quote(tt(   --filter=': /.rsync-filter'))
+quote(tt(   --filter='dir-merge /.rsync-filter'))
 
 This tells rsync to look for per-directory .rsync-filter files that have
 been sprinkled through the hierarchy and use their rules to filter the
 files in the transfer.  If bf(-F) is repeated, it is a shorthand for this
 rule:
 
-quote(tt(   --filter='- .rsync-filter'))
+quote(tt(   --filter='exclude .rsync-filter'))
 
 This filters out the .rsync-filter files themselves from the transfer.
 
@@ -909,11 +918,10 @@ the full rule-parsing syntax of normal filter rules.
 
 See the FILTER RULES section for detailed information on this option.
 
-dit(bf(--exclude-from=FILE)) This option is similar to the bf(--exclude)
-option, but instead it adds all exclude patterns listed in the file
-FILE to the exclude list.  Blank lines in FILE and lines starting with
-';' or '#' are ignored.
-If em(FILE) is bf(-) the list will be read from standard input.
+dit(bf(--exclude-from=FILE)) This option is related to the bf(--exclude)
+option, but it specifies a FILE that contains exclude patterns (one per line).
+Blank lines in the file and lines starting with ';' or '#' are ignored.
+If em(FILE) is bf(-), the list will be read from standard input.
 
 dit(bf(--include=PATTERN)) This option is a simplified form of the
 bf(--filter) option that defaults to an include rule and does not allow
@@ -921,12 +929,13 @@ the full rule-parsing syntax of normal filter rules.
 
 See the FILTER RULES section for detailed information on this option.
 
-dit(bf(--include-from=FILE)) This specifies a list of include patterns
-from a file.
-If em(FILE) is "-" the list will be read from standard input.
+dit(bf(--include-from=FILE)) This option is related to the bf(--include)
+option, but it specifies a FILE that contains include patterns (one per line).
+Blank lines in the file and lines starting with ';' or '#' are ignored.
+If em(FILE) is bf(-), the list will be read from standard input.
 
 dit(bf(--files-from=FILE)) Using this option allows you to specify the
-exact list of files to transfer (as read from the specified FILE or "-"
+exact list of files to transfer (as read from the specified FILE or bf(-)
 for standard input).  It also tweaks the default behavior of rsync to make
 transferring just the specified files and directories easier:
 
@@ -1176,7 +1185,7 @@ in a significant way (a transferred file, a recreated symlink/device, or a
 touched directory) unless the itemized-changes escape (%i) is included in
 the string, in which case the logging of names increases to mention any
 item that is changed in any way (as long as the receiving side is at least
-2.6.4).  See the bf(--itemized-changes) option for a description of the
+2.6.4).  See the bf(--itemize-changes) option for a description of the
 output of "%i".
 
 The bf(--verbose) option implies a format of "%n%L", but you can use
@@ -1263,10 +1272,13 @@ Conflicts with bf(--inplace).
 This option uses more memory on the receiving side (one bit per file
 transferred) and also requires enough free disk space on the receiving
 side to hold an additional copy of all the updated files.  Note also that
-you should not use an absolute path to bf(--partial-dir) unless there is no
+you should not use an absolute path to bf(--partial-dir) unless (1)
+there is no
 chance of any of the files in the transfer having the same name (since all
 the updated files will be put into a single directory if the path is
-absolute).
+absolute)
+and (2) there are no mount points in the hierarchy (since the
+delayed updates will fail if they can't be renamed into place).
 
 See also the "atomic-rsync" perl script in the "support" subdir for an
 update algorithm that is even more atomic (it uses bf(--link-dest) and a
@@ -1347,7 +1359,7 @@ into the batch file without having to flow over the wire to the receiver
 
 dit(bf(--read-batch=FILE)) Apply all of the changes stored in FILE, a
 file previously generated by bf(--write-batch).
-If em(FILE) is "-" the batch data will be read from standard input.
+If em(FILE) is bf(-), the batch data will be read from standard input.
 See the "BATCH MODE" section for details.
 
 dit(bf(--protocol=NUM)) Force an older protocol version to be used.  This
@@ -1646,10 +1658,12 @@ itemize(
 The following modifiers are accepted after a "+" or "-":
 
 itemize(
-  it() A "/" specifies that the include/exclude should be treated as an
-  absolute path, relative to the root of the filesystem.  For example,
+  it() A "/" specifies that the include/exclude rule should be matched
+  against the absolute pathname of the current item.  For example,
   "-/ /etc/passwd" would exclude the passwd file any time the transfer
-  was sending files from the "/etc" directory.
+  was sending files from the "/etc" directory, and "-/ subdir/foo"
+  would always exclude "foo" when it is in a dir named "subdir", even
+  if "foo" is at the root of the current transfer.
   it() A "!" specifies that the include/exclude should take effect if
   the pattern fails to match.  For instance, "-! */" would exclude all
   non-directories.