On 07/20/2011 07:36 PM, Nicolas Pitre wrote:
On Wed, 20 Jul 2011, david@xxxxxxx 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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html