Subject: Re: [PATCH] pack-objects: use of version 3 delta is now optional.

From: A Large Angry SCM <[email-masked]>
Date: Sun, 15 Oct 2006 13:00:25 -0700

Nicolas Pitre wrote:
> On Sun, 15 Oct 2006, Junio C Hamano wrote:
> 
>> Nicolas Pitre <[email-masked]> writes:
>>
>>> If anything, maybe this patch can be added before v1.4.3 is released:
>>> ...
>>> This way pack v3 could be fed to GIT v1.4.3 and above whenever we add 
>>> back pack v3 generation, and a pack converted to v2 from any v3 on the 
>>> fly when that capability is not present.
>> I think that is sensible.  I also was thinking that we should
>> call the current one packv3 and the one with delta-base-offset
>> packv4.
> 
> I think we should not.  The pack version should be tied to incompatible 
> pack data to prevent older GIT versions from misinterpreting newer 
> packs.  The delta block copy encoding is a perfect example of that where 
> a bit changed meaning.
> 
> The delta-base-offset case included a new object type that wasn't used 
> before hence there is no room for confusion, and yet that new delta 
> object could be encoded according to pack version 2 or pack version 3 
> which makes it orthogonal to the pack version itself.

It's not a new object type. It's a new object _encoding_ method.