If --remove-sent-files was specified and we successfully updated a
[rsync/rsync.git] / rsync.yo
index 7bc0e4c..0f2edce 100644 (file)
--- a/rsync.yo
+++ b/rsync.yo
@@ -332,6 +332,7 @@ to the detailed description below for a complete description.  verb(
      --rsync-path=PATH       specify path to rsync on the remote machine
      --existing              only update files that already exist
      --ignore-existing       ignore files that already 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
      --delete-before         receiver deletes before transfer (default)
@@ -420,6 +421,15 @@ information on what files are being skipped and slightly more
 information at the end. More than two bf(-v) flags should only be used if
 you are debugging rsync.
 
+Note that the names of the transferred files that are output are done using
+a default bf(--log-format) of "%n%L", which tells you just the name of the
+file and, if the item is a symlink, where it points.  At the single bf(-v)
+level of verbosity, this does not mention when a file gets its attributes
+changed.  If you ask for an itemized list of changed attributes (either
+bf(--itemize-changes) or adding "%i" to the bf(--log-format) setting), the
+output (on the client) increases to mention all items that are changed in
+any way.  See the bf(--log-format) option for more details.
+
 dit(bf(-q, --quiet)) This option decreases the amount of information you
 are given during the transfer, notably suppressing information messages
 from the remote server. This flag is useful when invoking rsync from
@@ -453,7 +463,7 @@ receiver are not transferred.  This option can be quite slow.
 dit(bf(-a, --archive)) This is equivalent to bf(-rlptgoD). It is a quick
 way of saying you want recursion and want to preserve almost
 everything.  The only exception to this is if bf(--files-from) was
-specified, in which case bf(-d) is implied instead of bf(-r).
+specified, in which case bf(-r) is not implied.
 
 Note that bf(-a) bf(does not preserve hardlinks), because
 finding multiply-linked files is expensive.  You must separately
@@ -665,14 +675,10 @@ 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(--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
+updated on the receiving side.  Directories and devices are not removed,
+nor are files/symlinks whose attributes are merely changed.
 
 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
@@ -743,6 +749,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.
@@ -1012,43 +1027,26 @@ 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(-i, --itemize-changes)) Requests a simple itemized list of the
+changes that are being made to each file, including attribute changes.
+This is equivalent to specifying bf(--log-format='%i %n%L').  (See the
+description of what the output of '%i' means in the rsyncd.conf manpage.)
+Rsync also mentions the delete action when an item replaces an item of a
+different type (e.g. a directory replaces a file of the same name).
 
 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
-rsyncd.conf.
+rsync client logs to stdout on a per-file basis. This format can be used
+without bf(--verbose) to enable just the outputting of the file-transfer
+information, or it can be used to change how the names are output when
+bf(--verbose) is enabled.  Rsync will log the name of an item prior to its
+transfer unless one of the transferred-byte-count values is requested, in
+which case the logging is done at the end of the item's transfer.  In this
+late-transfer state, if bf(--progress) is also specified, rsync will output
+just the name of the file prior to the progress information.
+
+The log format is specified using the same format conventions as the
+"log format" option in rsyncd.conf, so see that manpage for details.
+(Note that this option does not affect what a daemon logs to its logfile.)
 
 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