Moved two paragraphs.
[rsync/rsync.git] / rsync.yo
index 611d6cc..98ef3bf 100644 (file)
--- a/rsync.yo
+++ b/rsync.yo
@@ -324,7 +324,7 @@ to the detailed description below for a complete description.  verb(
  -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 files whole
+ -W, --whole-file            copy files whole (without rsync algorithm)
      --no-whole-file         always use incremental rsync algorithm
  -x, --one-file-system       don't cross filesystem boundaries
  -B, --block-size=SIZE       force a fixed checksum block-size
@@ -351,6 +351,7 @@ to the detailed description below for a complete description.  verb(
      --size-only             skip files that match in size
      --modify-window=NUM     compare mod-times with reduced accuracy
  -T, --temp-dir=DIR          create temporary files in directory DIR
+ -y, --fuzzy                 find similar file for basis if no dest file
      --compare-dest=DIR      also compare received files relative to DIR
      --copy-dest=DIR         ... and include copies of unchanged files
      --link-dest=DIR         hardlink to files in DIR when unchanged
@@ -372,6 +373,7 @@ to the detailed description below for a complete description.  verb(
      --stats                 give some file-transfer stats
      --progress              show progress during transfer
  -P                          same as --partial --progress
+ -i, --itemize-changes       output a change-summary for all updates
      --log-format=FORMAT     log file-transfers using specified format
      --password-file=FILE    read password from FILE
      --list-only             list the files instead of copying them
@@ -663,15 +665,6 @@ dit(bf(--ignore-existing))
 This tells rsync not to update files that already exist on
 the destination.
 
-dit(bf(--max-delete=NUM)) This tells rsync not to delete more than NUM
-files or directories. 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
-may be a fractional value (e.g. "bf(--max-size=1.5m)").
-
 dit(bf(--delete)) This tells rsync to delete extraneous files from the
 receiving side (ones that aren't on the sending side), but only for the
 directories that are being synchronized.  You must have asked rsync to
@@ -741,6 +734,15 @@ they are not empty when they are to be replaced by non-directories.  This
 is only relevant without bf(--delete) because deletions are now done depth-first.
 Requires the bf(--recursive) option (which is implied by bf(-a)) to have any effect.
 
+dit(bf(--max-delete=NUM)) This tells rsync not to delete more than NUM
+files or directories. 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
+may be a fractional value (e.g. "bf(--max-size=1.5m)").
+
 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.
@@ -909,6 +911,16 @@ scratch directory when creating temporary copies of the files
 transferred on the receiving side.  The default behavior is to create
 the temporary files in the receiving directory.
 
+dit(bf(-y, --fuzzy)) This option tells rsync that it should look for a
+basis file for any destination file that is missing.  The current algorithm
+looks in the same directory as the destination file for either a file that
+has an identical size and modified-time, or a similarly-named file.  If
+found, rsync uses the fuzzy basis file to try to speed up the transfer.
+
+Note that the use of the bf(--delete) option might get rid of any potential
+fuzzy-match files, so either use bf(--delete-after) or specify some
+filename exclusions if you need to prevent this.
+
 dit(bf(--compare-dest=DIR)) This option instructs rsync to use em(DIR) on
 the destination machine as an additional hierarchy to compare destination
 files against doing transfers (if the files are missing in the destination
@@ -1000,6 +1012,39 @@ ssh prefers non-blocking I/O.)
 dit(bf(--no-blocking-io)) Turn off bf(--blocking-io), for use when it is the
 default.
 
+dit(bf(-i, --itemize-changes)) Outputs a change-summary for each updated
+item.  The format is as follows:
+
+quote(tt(  *XcstpogDL ITEM_NAME))
+
+The bf(*) will be present if this is a file that is being transferred,
+otherwise it will be replaced with a space.  The bf(X) will be replaced by
+one of the following: an "f" for a file, a "d" for a dir, an "L" for a
+symlink, or a "D" for a device.  The rest of the letters in the string
+above are the actual letters that will be output if the associated
+attribute for the item is being updated; if not the letter will be replaced
+by either a "-" if no change is occurring, or a "+" if this is a new item.
+The meanings of the attribute letters are as follows:
+
+quote(itemize(
+  it() A bf(c) means the checksum of the file is different and will be
+  updated by the file transfer (requries bf(--checksum)).
+  it() A bf(s) means the size of the file is different and will be updated
+  by the file transfer.
+  it() A bf(t) means the modified time is being updated to the server's
+  value (requires --times, but transferred files without --times will be
+  marked with a bf(T) because the time is updated to the transfer time).
+  it() A bf(p) means the permissions are being updated (requires
+  bf(--perms)).
+  it() An bf(o) means the owner is being updated (requires bf(--owner) and
+  root privileges).
+  it() A bf(g) means the group is being updated (requires bf(--group)).
+  it() A bf(D) means the device is being updated (requires bf(--devices)
+  and root privileges).
+  it() An bf(L) means the symlink value is being updated (requires
+  --links).
+))
+
 dit(bf(--log-format=FORMAT)) This allows you to specify exactly what the
 rsync client logs to stdout on a per-file basis. The log format is
 specified using the same format conventions as the log format option in