Re: [PATCH 05/24] midx: implement `DISP` chunk
From: Junio C Hamano <hidden>
Date: 2023-12-13 19:20:53
Taylor Blau [off-list ref] writes:
- Turn any cross-pack deltas (which are stored as OFS_DELTAs) into
REF_DELTAs. We already do this today when reusing an OFS_DELTA
without `--delta-base-offset` enabled, so it's not a huge stretch to
do the same for cross-pack deltas even when `--delta-base-offset` is
enabled.
This would work, but would obviously result in larger-than-necessary
packs, as we in theory *could* represent these cross-pack deltas by
patching an existing OFS_DELTA. But it's not clear how much that
would matter in practice. I suspect it would have a lot to do with
how you pack your repository in the first place.I have to wonder if the cost of additional computation to see when is safe to allow cross-pack delta can be kept reasonably low, as you'd need to prove that you are not introducing a cycle by doing so. Compared to that, spending a dozen or so bytes for the offset for rare cases of having to express such a cross-pack delta pair would be much less worrisome to me.
Thanks for the terrific suggestion. I'll clean up the results of trying to implement it, and share it with the list soon (ideally before the end of this week, after which I'm on vacation until the new year).
Good to hear that you'll be recharging soon. Enjoy.