Re: [PATCH] pack-objects: do not reuse packfiles without --delta-base-offset
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:00:38
Jeff King [off-list ref] writes:
On Fri, Apr 04, 2014 at 03:28:48PM -0700, Junio C Hamano wrote: ...quoted
OK, together with the fact that only ancient versions of fetcher would trigger this "do not reuse" codepath, I agree that we should go the simplest route this patch takes.By the way, we may want to revisit this if we grow more features that do not allow straight byte-for-byte reuse.
True.
I am thinking specifically if we
grow a packv4-like representation for an object, and we plan to convert
on-the-fly to existing packv2 clients. But I think the sensible steps
for that are:
1. If we have v4 on disk and are outputting v2, add this case to the
"can_reuse" function I just added. I.e., start out correct, and
turn off the optimization.
2. Experiment with on-the-fly conversion. It may be that the
conversion is so expensive that the reuse optimization gets lost in
the noise. Or maybe we can reclaim most of the advantage of the
reuse code path, and it is worth going object-by-object and
converting. But we won't know until we can measure.Yeah; I think these are sensible steps in the future direction. Thanks.