Skip to content

Commit

Permalink
Mention latest changes.
Browse files Browse the repository at this point in the history
  • Loading branch information
WayneD committed Oct 2, 2022
1 parent 25efa10 commit 76c4fa8
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 7 deletions.
26 changes: 20 additions & 6 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
- Added support for the SHA1 digest in file checksums. While this tends to be
overkill, it is available if someone really needs it. This overly-long
checksum is at the lowest priority in the normal checksum negotiation list.
See `--checksum-choice` (`--cc`) and the `RSYNC_CHECKSUM_LIST` environment
var for how to customize this.
See [`--checksum-choice`](rsync.1#opt) (`--cc`) and the `RSYNC_CHECKSUM_LIST`
environment var for how to customize this.

- Improved the xattr hash table to use a 64-bit key without slowing down the
key's computation. This should make extra sure that a collision doesn't
Expand All @@ -42,15 +42,29 @@
converted. Newer rsync versions will provide more complete json info than
older rsync versions.

- The [`use chroot`](rsyncd.conf.5#use_chroot) daemon parameter now defaults to
"unset" so that rsync can use chroot when it works and a sanitized copy when
chroot is not supported (e.g., for a non-root daemon). Explicitly setting
the parameter to true or false (on or off) behaves the same way as before.
- The [`use chroot`](rsyncd.conf.5#) daemon parameter now defaults to "unset"
so that rsync can use chroot when it works and a sanitized copy when chroot
is not supported (e.g., for a non-root daemon). Explicitly setting the
parameter to true or false (on or off) behaves the same way as before.

- The `--fuzzy` option was optimized a bit to try to cut down on the amount of
computations when considering a big pool of files. The simple heuristic from
Kenneth Finnegan resuled in about a 2x speedup.

- If rsync is forced to use protocol 29 or before (perhaps due to talking to an
rsync before 3.0.0), the modify time of a file is limited to 4-bytes. Rsync
now interprets this value as an unsigned integer so that a current year past
2038 can continue to be represented. This does mean that years prior to 1970
cannot be represented in an older protocol, but this trade-off seems like the
right choice given that (1) 2038 is very rapidly approaching, and (2) newer
protocols support a much wider range of old and new dates.

- The rsync client now treats an empty destination arg as an error, just like
it does for an empty source arg. This doesn't affect a `host:` arg (which is
treated the same as `host:.`) since the arg is not completely empty. The use
of [`--old-args`](rsync.1#opt) (including via `RSYNC_OLD_ARGS`) allows the
prior behavior of treating an empty destination arg as a ".".

### PACKAGING RELATED:

- The checksum code now uses openssl's EVP methods, which gets rid of various
Expand Down
13 changes: 12 additions & 1 deletion rsync.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -859,7 +859,7 @@ expand it.
that until a bunch of recursive copying has finished). However, these
early directories don't yet have their completed mode, mtime, or ownership
set -- they have more restrictive rights until the subdirectory's copying
actually begins. This early-creation idiom can be avoiding by using the
actually begins. This early-creation idiom can be avoided by using the
[`--omit-dir-times`](#opt) option.

Incremental recursion can be disabled using the
Expand Down Expand Up @@ -1560,6 +1560,15 @@ expand it.
will make the update fairly efficient if the files haven't actually
changed, you're much better off using `-t`).

A modern rsync that is using transfer protocol 30 or 31 conveys a modify
time using up to 8-bytes. If rsync is forced to speak an older protocol
(perhaps due to the remote rsync being older than 3.0.0) a modify time is
conveyed using 4-bytes. Prior to 3.2.7, these shorter values could convey
a date range of 13-Dec-1901 to 19-Jan-2038. Beginning with 3.2.7, these
4-byte values now convey a date range of 1-Jan-1970 to 7-Feb-2106. If you
have files dated older than 1970, make sure your rsync executables are
upgraded so that the full range of dates can be conveyed.

0. `--atimes`, `-U`

This tells rsync to set the access (use) times of the destination files to
Expand Down Expand Up @@ -2388,6 +2397,8 @@ expand it.

This option tells rsync to stop trying to protect the arg values on the
remote side from unintended word-splitting or other misinterpretation.
It also allows the client to treat an empty arg as a "." instead of
generating an error.

The default in a modern rsync is for "shell-active" characters (including
spaces) to be backslash-escaped in the args that are sent to the remote
Expand Down

0 comments on commit 76c4fa8

Please sign in to comment.