Bsdiff

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(PRONOM)
(Update OPF link)
 
(4 intermediate revisions by 2 users not shown)
Line 6: Line 6:
  
 
'''Bsdiff''' is an open-source utility for generating diffs of binary files which can be distributed as patches or updates without having to send the entire set of binary data each time the package is updated. While one might think the need for such things is reduced with the much-improved bandwidth of modern times, software has also increased in size (the "bloatware" phenomenon), so the need for tools like this continues. Supposedly bsdiff generates more compact diff files than the high-priced proprietary [[RTPatch]] system.
 
'''Bsdiff''' is an open-source utility for generating diffs of binary files which can be distributed as patches or updates without having to send the entire set of binary data each time the package is updated. While one might think the need for such things is reduced with the much-improved bandwidth of modern times, software has also increased in size (the "bloatware" phenomenon), so the need for tools like this continues. Supposedly bsdiff generates more compact diff files than the high-priced proprietary [[RTPatch]] system.
 +
 +
bsdiff uses a technique called [https://en.wikipedia.org/wiki/Delta_encoding delta encoding] to encode the differences between two binary objects.
  
 
[[bzip2]] is used for compression.
 
[[bzip2]] is used for compression.
Line 11: Line 13:
 
There have been some forks and variant versions of bsdiff, and slightly-divergent forms are used for some platforms and software systems; for instance, there is an adapted version used for Mozilla updates (which, in turn, get put into [[Mozilla Archive]] files).
 
There have been some forks and variant versions of bsdiff, and slightly-divergent forms are used for some platforms and software systems; for instance, there is an adapted version used for Mozilla updates (which, in turn, get put into [[Mozilla Archive]] files).
  
== Links and references ==
+
== Code and downloads ==
 +
 
 
* [http://www.daemonology.net/bsdiff/ BSDIFF page with link to download]
 
* [http://www.daemonology.net/bsdiff/ BSDIFF page with link to download]
 +
* [https://github.com/mendsley/bsdiff An 2012 fork of bsdiff]
 +
* [https://github.com/gabstv/go-bsdiff Golang implementation of bsdiff based on Percival's original]
 +
 +
== Links and references ==
 +
 
* [http://www.pokorra.de/coding/bsdiff.html bsdiff for Windows]
 
* [http://www.pokorra.de/coding/bsdiff.html bsdiff for Windows]
 
* [http://cx-bsdiff.sourceforge.net/ bsdiff Python extension]
 
* [http://cx-bsdiff.sourceforge.net/ bsdiff Python extension]
 +
* [http://openplanetsfoundation.org/system/files/bsdiff-4.0-documentation-colin-percival-bsd-licensed.pdf BSDIFF format information]
 
* [http://www.daemonology.net/papers/bsdiff.pdf Paper on algorithm used]
 
* [http://www.daemonology.net/papers/bsdiff.pdf Paper on algorithm used]
 
* [http://www.daemonology.net/papers/thesis.pdf Doctoral thesis by author describing more sophisticated algorithm]
 
* [http://www.daemonology.net/papers/thesis.pdf Doctoral thesis by author describing more sophisticated algorithm]
 
* [http://damaestro.us/blog/bsdiff-very-interesting-binary-diff Blog discussion]
 
* [http://damaestro.us/blog/bsdiff-very-interesting-binary-diff Blog discussion]
 +
* [https://openpreservation.org/blogs/bsdiff-technological-solutions-reversible-pre-conditioning-complex-binary-objects/ BSDIFF: Technological Solutions for Reversible Pre-conditioning of Complex Binary Objects]
 +
* [https://exponentialdecay.co.uk/blog/bsdiff-as-a-tool-for-digital-preservation/ Revisiting bsdiff as a tool for digital preservation]

Latest revision as of 11:38, 29 September 2025

File Format
Name Bsdiff
Ontology
PRONOM fmt/439
Released 2003

Bsdiff is an open-source utility for generating diffs of binary files which can be distributed as patches or updates without having to send the entire set of binary data each time the package is updated. While one might think the need for such things is reduced with the much-improved bandwidth of modern times, software has also increased in size (the "bloatware" phenomenon), so the need for tools like this continues. Supposedly bsdiff generates more compact diff files than the high-priced proprietary RTPatch system.

bsdiff uses a technique called delta encoding to encode the differences between two binary objects.

bzip2 is used for compression.

There have been some forks and variant versions of bsdiff, and slightly-divergent forms are used for some platforms and software systems; for instance, there is an adapted version used for Mozilla updates (which, in turn, get put into Mozilla Archive files).

[edit] Code and downloads

[edit] Links and references

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox