Subject: Re: [PATCH] pack-objects: do not reuse packfiles without --delta-base-offset

From: Junio C Hamano <[email-masked]>
Date: Mon, 07 Apr 2014 10:15:43 -0700

Jeff King <[email-masked]> writes:

> On Fri, Apr 04, 2014 at 03:28:48PM -0700, Junio C Hamano wrote:
> ...
>> 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.