Re: Git commit generation numbers
- From
Phil Hord <hordp@cisco.com>
- Date
- Jul 21, 2011, 00:08 UTC
- Message-ID
- <4E276DF8.8030301@cisco.com>
- In-Reply-To
- <alpine.LFD.2.00.1107201931510.21187@xanadu.home>
On 07/20/2011 07:36 PM, Nicolas Pitre wrote:
Show 7 quoted lines
> 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