new(google/open-vcdiff): VCDIFF (RFC 3284) encoder/decoder#13141
new(google/open-vcdiff): VCDIFF (RFC 3284) encoder/decoder#13141tannevaled wants to merge 4 commits into
Conversation
Canonical Google C++ implementation of the VCDIFF generic differencing format (RFC 3284). Used by Chrome's SDCH, Google's update protocol, and various delta-compression schemes. Upstream archived 2023-08-26; this remains the reference implementation. Apache-2.0. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Two compounding bugs in version resolution: 1. Upstream publishes git tags but ZERO GitHub Releases. Default `github: <repo>` mode queries /releases — empty. Switched to `github: google/open-vcdiff/tags`. 2. Tag `open-vcdiff-0.8` is 2-part — strict semver rejects. Added to `ignore:`. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
Parking this PR — source build needs vendored gflags submodule + custom m4 macros. After 3 iterations, the structural issue is that open-vcdiff's To make this work properly, the recipe would need to:
Or patch Since this is an archived upstream (last commit 2023-08-26) and the recipe is a 30-line autotools build, the maintenance ROI is low. Leaving the PR open for review — happy to invest further iterations if maintainers consider it worth it, otherwise closing in favor of a leaner fix later. Symptoms documented in the recipe / commit log:
|
Summary
Adds Google's canonical C++ implementation of the VCDIFF (RFC 3284) generic-differencing format.
Why now
VCDIFF underlies several systems still in use:
The upstream repo was archived on 2023-08-26, but the implementation remains RFC-compliant and is the canonical C++ reference. Nothing newer replaces it.
Build
autoreconf -fi+./configure+make); Apache-2.0.Test plan
Round-trip encode/decode of a small dictionary+target pair, verifying byte-identity after decode. Exercises both the encoder and decoder.
🤖 Generated with Claude Code