Overview of HDiffPatch
masterHDiffPatch is a C/C++ library and command-line tool designed for performing diff (creating patches) and patch (applying patches) operations on binary files or directories. It is cross-platform, high-performance, and produces small patch files. It supports very large files and allows users to control memory usage during both diff and patch operations.
Key features include:
- Format Compatibility: Uses its own patch format but is fully compatible with
bsdiff4,endsley/bsdiff,open-vcdiff, andxdelta3(VCDIFF RFC 3284). - Embedded Support: For MCU or NB-IoT devices, use [HPatchLite] with [tinyuz] to run on devices with as little as 1KB of memory.
- Android Optimization:
- [ApkDiffPatch] creates smaller patches for APKs but requires re-signing the APK before diffing.
- [sfpatcher] is optimized for Android app stores, requiring $O(1)$ memory and no re-signing.
- Sync Algorithms: [hsynz] (similar to
zsync) allows incremental updates without needing the original old version data on hand, supportingzstdcompression.