\%S-BSDIPA(1)

NAME
\%S-bsdipa [\%v0.10.0] - create or apply binary difference patch

SYNOPSIS
\%s-bsdipa32 — 32-bit limits
\%s-bsdipa64 — 64-bit limits

\%s-bsdipa -h

\%s-bsdipa [-fHJjRtZz1-9] diff[/WINDOW] before after patch

\%s-bsdipa [-fHJjRZz] patch after before restored

DESCRIPTION

\%S-bsdipa creates or applies binary difference patches by using Colin Percival's BSDiff algorithm. Two distinct, non-interchangeable variants exist: \%s-bsdipa32 has 32-bit file size limits, \%s-bsdipa64 64-bit; memory footprint and control data size of the former is roughly half that of the latter. (Operational limit may be furtherly constrained by the address size limit of the host.)

When applying a patch the compression method is automatically detected, an explicitly given one must match. When creating a differential patch the optional WINDOW allows specification of the “data inspection window size”, a positive integral value ≤4096 that defaults to 16, and has impacts on processing speed and patch size. (Values outside the range 4 to 64 seem hardly useful.)

  Options
-1 — -9
    Selects the compression level when supported, with 1 being weakest and 9 being strongest (default unless noted).
-f  Overwrite an existing target file.
-H  Do not read or write file identity header; one of -J | -j | -R | -Z | -z must be used in addition.
-h  Show usage information and exit.
-J  (Optional) Use LZMA2 compression (default: -8).
-j  (Optional) Use bzip2 compression.
-R  Uncompressed patch format without checksum (for testing).
-t  (Optional) Use (textual) line-based instead of (binary) BSDiff mode; WINDOW is unsupported. Note: this mode is not designed to work with malicious data, there is no protection against "algorithmic complexity attacks"; the output is, however, reproducible, just like the BSDiff one.
-Z  (Optional) Use ZSTD compression (default: -8).
-z  Use ZLIB compression (default).

AUTHORS
Steffen Nurpmeso <steffen@sdaoden.eu>.