On Sun, 15 Oct 2006, Jakub Narebski wrote: > Junio C Hamano wrote: > > > 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. > > Just curious: what was the difference between packv1 and packv2, > and packv3 and packv4? Pack v1 was really short-lived (one day or two). It used a different encoding for object size and delta size than what exists today. When the current encoding was adopted the pack version was bumped to 2 to make sure anyone, if any, who might have started to rely upon packs in those early days would not end up trying to use incompatible pack data. Backward compatibility was not a concern at all back then of course. So for all practical purposes just consider that pack version 1 never existed. Pack version 3 simply redefined one bit in the delta encoding that was never used. The former definition of the bit was implemented in the decode part, but attempts to use it in the encode part turned up to be way too costly for really really poor benefits. for details just have a look at commit d60fc1c8649f80c006b9f493c542461e81608d4b. As for pack v4... My opinion is that nothing justifies it so far. So if I can convince Junio there shouldn't be any v4 just yet. Nicolas