Made showchg() use safe_fname().
[rsync/rsync.git] / rsync.yo
index c6ff226..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
  -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
      --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
@@ -350,7 +350,8 @@ to the detailed description below for a complete description.  verb(
  -I, --ignore-times          don't skip files that match size and time
      --size-only             skip files that match in size
      --modify-window=NUM     compare mod-times with reduced accuracy
  -I, --ignore-times          don't skip files that match size and time
      --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
+ -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
      --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
@@ -364,7 +365,7 @@ to the detailed description below for a complete description.  verb(
      --include=PATTERN       don't exclude files matching PATTERN
      --include-from=FILE     read include patterns from FILE
      --files-from=FILE       read list of source-file names from FILE
      --include=PATTERN       don't exclude files matching PATTERN
      --include-from=FILE     read include patterns from FILE
      --files-from=FILE       read list of source-file names from FILE
- -0  --from0                 all *from file lists are delimited by nulls
+ -0, --from0                 all *from file lists are delimited by nulls
      --version               print version number
      --port=PORT             specify double-colon alternate port number
      --blocking-io           use blocking I/O for the remote shell
      --version               print version number
      --port=PORT             specify double-colon alternate port number
      --blocking-io           use blocking I/O for the remote shell
@@ -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
      --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
      --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
@@ -379,8 +381,8 @@ to the detailed description below for a complete description.  verb(
      --write-batch=FILE      write a batched update to FILE
      --read-batch=FILE       read a batched update from FILE
      --checksum-seed=NUM     set block/file checksum seed (advanced)
      --write-batch=FILE      write a batched update to FILE
      --read-batch=FILE       read a batched update from FILE
      --checksum-seed=NUM     set block/file checksum seed (advanced)
- -4  --ipv4                  prefer IPv4
- -6  --ipv6                  prefer IPv6
+ -4, --ipv4                  prefer IPv4
+ -6, --ipv6                  prefer IPv6
  -h, --help                  show this help screen)
 
 Rsync can also be run as a daemon, in which case the following options are
  -h, --help                  show this help screen)
 
 Rsync can also be run as a daemon, in which case the following options are
@@ -392,8 +394,8 @@ accepted: verb(
      --no-detach             do not detach from the parent
      --port=PORT             listen on alternate port number
  -v, --verbose               increase verbosity
      --no-detach             do not detach from the parent
      --port=PORT             listen on alternate port number
  -v, --verbose               increase verbosity
- -4  --ipv4                  prefer IPv4
- -6  --ipv6                  prefer IPv6
+ -4, --ipv4                  prefer IPv4
+ -6, --ipv6                  prefer IPv6
  -h, --help                  show this help screen)
 
 manpageoptions()
  -h, --help                  show this help screen)
 
 manpageoptions()
@@ -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.
 
 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
 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(--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
 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