btrbk <= 0.27.2 does not print "target_rsh" and "target_type" when
called with --format=raw, see $table_formats{resolved}. This is fixed
in 0.28.0.
Hardcoding target_type=send-receive is not so bad, as for raw targets
btrbk-verify complains first with:
btrbk-verify: missing required variable "target_rsh" in btrbk --format=raw line
So we should not run rsync (which is not really a problem, rsync just
fails with "not a directory").
Compare files and attributes by checksum, using rsync(1) in dry-run
mode with all preserve options enabled.
Resolves snapshot/backup pairs by evaluating the output of
"btrbk list latest [filter...]".
Restrictions:
- ".d..t...... ./" lines are ignored by default:
Root folder timestamp always differ.
- "cd+++++++++ .*" lines are ignored by default:
Nested subvolumes appear as new empty directories.
- btrbk raw targets are skipped
- rsync needs root in most cases (see --ssh-* options)
When used without --inplace, rsync creates a new copy of the file and
moves it into place when it is complete, having the effect that btrfs
creates a new extent for the WHOLE file. With --inplace however, rsync
writes the updated data directly to the destination file, having the
effect that btrfs creates a new extent only for the differing part of
the file.