> I have not read yet one discussion about how generation numbers [baked > into a commit] deal with rebasing, for instance. Do we assign one more > than the revision prior to the base of the rebase operation or do we > start with the revision one after the highest of those original commits > included in the rebase? Depending on how that is done > _drastically_different_ numbers can come out of different repository > instances for the same _final_ DAG. This is one major reason why, as I > see it, local storage is good for generation numbers and putting them in > the commit is bad. Er, no. Whenever a new commit object is generated (as the result of a rebase or not), its commit number is computed based on its parent commits. It is NEVER copied. Just like the parent pointers themselves. Remember, even though we talk about "the same commit" after rebasing, it's really just an EQUIVALENT commit according to some higher-level concept of similarity. As far as the core git engine is concerned, it's always a DIFFERENT commit, with different parent hashes and a different hash itself. This point hasn't been mentioned explicltly precisely because it's so obvious; the history-walking code that the generation numbers are for requires this property to function. -- 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