Made showchg() use safe_fname().
[rsync/rsync.git] / rsync.yo
index 611d6cc..7bc0e4c 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
@@ -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