- dirs and symlinks have changed, which makes the outputting of the
- information more consistent and less prone to screen corruption (it
- resorts to the old-style outputting of generator-created change-
- messages for older protocol versions).
-
- - If --inplace is specified, the generator flags any transfer that is
- using an alternate basis file so that the sender can use the entire
- file in the rsync algorithm (unlike a normal --inplace update).
+ dirs and symlinks have changed (instead of producing a message),
+ which makes the outputting of the information more consistent and
+ less prone to screen corruption (because either the receiver or the
+ sender is now outputting all the file-change info).
+
+ - If a file is being hard-linked, the appropriate bit is enabled in
+ the flag-word and the name of the file that was linked immediately
+ follows in vstring format (see below).
+
+ - If a file is being transferred with an alternate-basis file, the
+ appropriate bit is enabled in the flag-word and a single-byte
+ follows, indicating what type of basis file was chosen. If that
+ indicates that a fuzzy-match was selected, the name of the match
+ immediately follows in vstring format. A vstring is a variable
+ length string that has its size written prior to the string, and
+ no terminating null. If the string is from 1-127 bytes, the length
+ is a single byte. If it is from 128-32767 bytes, the length is
+ written as ((len >> 8) | 0x80) followed by (len % 0x100).