XDELTA3(1)

✨ XDELTA3 ✨

okay bestie, sit DOWN because today we're talking about xdelta3, a binary diff tool that runs on the VCDIFF (RFC 3284) format plus compression πŸ’… it's the girl who finds the differences between two files and makes them smol. no cap.


🌸 SYNOPSIS 🌸

xdelta3 [command] [options] [input [output]]

like. give her a command, some options, an input, an output. she'll handle it 🫢


πŸ’– DESCRIPTION πŸ’–

xdelta3 is a binary diff tool that uses the VCDIFF (RFC 3284) format and compression. that's it, that's the whole vibe. binary diffs, iconic format, compressed, slay πŸ”₯


πŸ‘‘ COMMANDS πŸ‘‘

  • config β€” prints xdelta3 configuration. show me ur settings queen πŸ’…
  • decode β€” decompress the input, also set by -d
  • encode β€” compress the input, also set by -e (this is the default one, the main character ⭐)
  • test β€” run the builtin tests. she's testing herself, as she should 🧚
  • printdelta β€” print information about the entire delta
  • printhdr β€” print information about the first window
  • printhdrs β€” print information about all windows
  • recode β€” encode with new application/secondary settings

πŸŽ€ OPTIONS πŸŽ€

standard options:

  • -0 .. -9 β€” compression level. pick ur level, girl πŸ’œ
  • -c β€” use stdout
  • -d β€” decompress
  • -e β€” compress
  • -f β€” force overwrite. she WILL overwrite, no questions πŸ™ˆ
  • -F β€” force the external-compression subprocess
  • -h β€” show help
  • -q β€” be quiet 🀫
  • -v β€” be verbose (max 2). two is the limit bestie, don't push it
  • -V β€” show version

memory options:

  • -B β€” bytes source window size
  • -W β€” bytes input window size
  • -P β€” size compression duplicates window
  • -I β€” size instruction buffer size (0 = unlimited)

compression options:

  • -s β€” source source file to copy from (if any)
  • -S [djw|fgk] β€” enable/disable secondary compression
  • -N β€” disable small string-matching compression
  • -D β€” disable external decompression (encode/decode)
  • -R β€” disable external recompression (decode)
  • -n β€” disable checksum (encode/decode)
  • -C β€” soft config (encode, undocumented). literally undocumented, we know nothing, she's mysterious ✨
  • -A [apphead] β€” disable/provide application header (encode)
  • -J β€” disable output (check/compute only)
  • -T β€” use alternate code table (test)
  • -m β€” arguments for "merge"

πŸ¦‹ NOTES πŸ¦‹

the XDELTA environment variable may contain extra args, and honestly that's her little superpower:

XDELTA="-s source-x.y.tar.gz" \
tar --use-compress-program=xdelta3 -cf \
target-x.z.tar.gz.vcdiff target-x.y/

look at her go πŸ˜­πŸ’–


🌈 EXAMPLES 🌈

compress the differences between SOURCE and TARGET, yielding OUT, using "djw" secondary compression:

xdelta3 -S djw -s SOURCE TARGET OUT

do the same, using standard input and output:

xdelta3 -S djw -s SOURCE < TARGET > OUT

to decompress OUT, using SOURCE, yielding TARGET:

xdelta3 -d -s SOURCE OUT TARGET

three examples, all iconic, all ate πŸ’…


πŸ’œ AUTHOR πŸ’œ

xdelta3 was written by Josh MacDonald <josh.macdonald@gmail.com>.

this manual page was written by Leo 'costela' Antunes <costela@debian.org> for the Debian project (but may be used by others). give her her flowers fr fr 🌸


that's the whole page bestie, go compress something 🫢

okay and one last thing β€” this was the xdelta3 page from the Xdelta3 manual, dated August 2013, living in section XDELTA3(1) of the general commands manual. mwah πŸ’‹

πŸ“¦ where this page comes from