From: A Large Angry SCM Date: Sun, 15 Oct 2006 20:00:25 GMT Subject: Re: [PATCH] pack-objects: use of version 3 delta is now optional. Message-ID: <45329359.1030302@gmail.com> In-Reply-To: Nicolas Pitre wrote: > On Sun, 15 Oct 2006, Junio C Hamano wrote: > >> Nicolas Pitre 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.