The initial design of UnifiedDiffWriter
was self-contained,
subclassing io.BytesIO
and therefore allowing any standard
operations like seek()
or getvalue()
. However, this is limiting, as
it means other types of streams (like a file) can be incrementally
written to.
This updates the design to require passing an explicit stream. This
simplifies the design a bit, and ensures a separation between diff
writing and stream operations.
Callers have all been updated to construct an explicit io.BytesIO
to
pass to it, and now fetch their results from that method.