From: Phil Hord Date: Thu, 21 Jul 2011 00:08:24 GMT Subject: Re: Git commit generation numbers Message-ID: <4E276DF8.8030301@cisco.com> In-Reply-To: On 07/20/2011 07:36 PM, Nicolas Pitre wrote: > On Wed, 20 Jul 2011, david@lang.hm wrote: > >> If the generation number is part of the repository then it's going to >> be the same for everyone. > The actual generation number will be, and has to be, the same for > everyone with the same repository content, regardless of the cache used. > It is a well defined number with no room to interpretation. Nonsense. Even if the generation number is well-defined and shared by all clients, the only quasi-essential definition is "for each A in ancestors_of(B), gen(A) < gen(B)". In practice, the actual generation number *will be the same* for everyone with the same repository content, unless and until someone develops a different calculation method. But there is no reason to require that the number *has to be* the same for everyone unless you expect (or require) everyone to share their gen-caches. Surely there will be a competent and efficient gen-cache API. But most code can just ask if B --contains A or even just use rev-list and benefit from the increased speed of the answer. Because most code doesn't really care about the gen numbers themselves, but only the speed of determining ancestry. Phil