bdiff(1)

πŸ“¦
version 2022.10.16 Β· 2 versions
, in opensuse-leap 16.0

πŸ’… bdiff(1) β€” big diff, bestie ✨

okay so this is a User Commands icon and we are about to get into it. bdiff is literally the big-diff girlie and she's here to help πŸ’–


✨ NAME ✨

bdiff β€” big diff 🫢 (yes that's the whole thing, she's concise)


🌸 SYNOPSIS 🌸

bdiff filename1 filename2 [n] [-s]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so bestie, bdiff works basically like diff does β€” you use it to find which lines in filename1 and filename2 have to be changed to bring the two files into agreement. same energy, different scale πŸ’…

her whole purpose in life is letting you process files that are way too big for diff to handle. main character energy honestly πŸ‘‘

if filename1 (or filename2) is βˆ’, then the standard input gets read. yep, the dash. she'll read from stdin, no cap.

here's the tea on how she actually works πŸ”₯ β€” bdiff ignores the lines that are common to the beginning of both files, then splits the rest of each file into n-line segments, and then invokes diff on the corresponding segments. so it's like, chunked diffing. iconic.

if you give her both optional arguments, they have to appear in the order indicated above. not negotiable, that's just the vibe check 😭

the output of bdiff is exactly that of diff, except the line numbers get adjusted to account for the segmenting of the files β€” that is, to make it look as if the files had been processed whole. so it doesn't look like a chopped-up mess, she makes it look seamless ✨

Note: because of the segmenting of the files, bdiff does not necessarily find a smallest sufficient set of file differences. like, she'll find you differences, but not always the minimal set. so don't come for her πŸ’€

πŸŽ€ OPTIONS πŸŽ€

  • n β€” the number of line segments. the value of n is 3500 by default. if the optional third argument is given and it's numeric, it gets used as the value for n. this is genuinely useful in those cases where 3500-line segments are too large for diff, which makes diff fail β€” so you shrink the chunks and she slays πŸ’…
  • -s β€” specifies that no diagnostics are to be printed by bdiff (the silent option, she's being quiet, we love a low-key moment πŸ™ˆ)
Note: however, this does not suppress possible diagnostic messages from diff, which bdiff calls. so diff can still be loud. not her fault, she's just the middleman 😭

🌈 USAGE 🌈

see largefile(7) for the description of the behavior of bdiff when encountering files greater than or equal to 2 Gbyte (2^31 bytes). big files, big vibes, go read that page bestie ⭐


πŸ“ FILES πŸ“

  • /tmp/bd????? β€” her temp files live here, cute little ????? pattern, very mystery-girl of her 🧚

πŸ’œ ATTRIBUTES πŸ’œ

see attributes(7) for descriptions of the following attributes:

  • Availability β€” SUNWesu
  • CSI β€” enabled

πŸ‘‘ SEE ALSO πŸ‘‘

diff(1), attributes(7), largefile(7) β€” go read 'em, they're the supporting cast 🫢


πŸ’€ DIAGNOSTICS πŸ’€

use help for explanations. that's it, that's the whole section πŸ™ˆ


🌸 NOTES 🌸

this version of bdiff(1) supports lines of arbitrary length and is able to deal with binary content (null bytes) in the files. so she's not scared of your weird data, she ate πŸ”₯

because of that, she calls diff(1) with the -a option. periodt.

the well known main caller of bdiff(1), which is sccs-delta(1), checks for binary content before calling bdiff(1). so that one's doing her homework first ✨

previous versions of bdiff(1) did not check for binary content and silently discarded null bytes. yeah. they were just throwing away your nulls without telling you 😭 not the move. we've grown since then πŸ’…


πŸ¦‹ BUGS πŸ¦‹

none currently known. she's flawless, allegedly πŸ‘‘βœ¨

mail bugs and suggestions to schilytools@mlists.in-berlin.de or open a ticket at https://codeberg.org/schilytools/schilytools/issues

the mailing list archive may be found at:

https://mlists.in-berlin.de/mailman/listinfo/schilytools-mlists.in-berlin.de

(links are literally right there, go off 🫢)


🧚 AUTHORS 🧚

the bdiff(1) program was initially written at Bell Labs in the 1970s as part of SCCS. the SVr4 release was written by various authors at AT&T in 1989. the bdiff(1) program was later maintained by various people at AT&T and Sun Microsystems. since 2006, it has been maintained by Joerg Schilling and is now maintained by the schilytools authors. multiple eras, multiple icons, all contributing to the same girlie πŸ’–


⭐ SOURCE DOWNLOAD ⭐

the source code for sccs is included in the schilytools project and may be retrieved from the schilytools project at Codeberg at

https://codeberg.org/schilytools/schilytools

the download directory is

https://codeberg.org/schilytools/schilytools/releases


okay that's the whole page bestie, you're officially a bdiff expert now, no cap πŸ’…βœ¨

sign-off time: this little masterpiece comes to you courtesy of SunOS 5.11, dated 2022/10/06 β€” bdiff(1), out. mwah πŸŽ€πŸ’–

πŸ“¦ where this page comes from