Skip to content

Refactor Differential: Abstract interfaces for pluggable differs and compression #258

Description

@JusterZhu

Summary

Extract core abstractions from GeneralUpdate.Differential to enable pluggable binary diff algorithms and compression providers.

Scope

  • \IBinaryDiffer\ — abstract binary diff (Clean/Dirty)
  • \ICompressionProvider\ — abstract compression (replace hardcoded BZip2)
  • Refactor \BinaryHandler\ to implement \IBinaryDiffer, keeping existing BSDIFF logic intact
  • Keep backward compatibility with existing \DifferentialCore\ API surface

Motivation

Currently BinaryHandler hardcodes BSDIFF algorithm + BZip2 compression. This prevents optimizing for different scenarios (smaller patches, faster decompression, streaming for large files).

Part of the Differential v2 refactor series:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions