On 6/25/2019 3:51 AM, Jakub Narebski wrote: > Jakub Narebski <jnareb@xxxxxxxxx> writes: >> Derrick Stolee <stolee@xxxxxxxxx> writes: >>> On 5/20/2019 7:02 AM, Jakub Narebski wrote: >>>> >>>> Are there any blockers that prevent the switch to this >>>> "generation number v2"? >>>> >>>> - Is it a problem with insufficient data to choose the correct numbering >>>> as "generation number v2' (there can be only one)? >>>> - Is it a problem with selected "generation number v2" being >>>> incompatibile with gen v2, and Git failing when new version of >>>> commit-graph is used instead of softly just not using commit-graph? >>>> - Or is it something else? > [...] > >>> Using the generation number column for the corrected >>> commit-date offsets (assuming we also guarantee the offset is strictly >>> increasing from parent to child), these new values will be backwards- >>> compatible _except_ for 'git commit-graph verify'. >> >> O.K., so the "generation number v2 (legacy)" would be incremental and >> backward-compatibile in use (though not in generation and validation). >> >> Do I understand it correctly how it is calculated: >> >> corrected_date(C) = max(committer_date(C), >> max_{P ∈ parents(C)}(corrected_date(P)) + 1) >> offset(C) = corrected_date(C) - committer_date(C) >> gen_v2(C) = max(offset(C), max_{P ∈ parents(C)}(gen_v2(P)) + 1) > > Do you remember who first came up with this idea for backward > compatibile corrected commit date offsets (monotonically offset > corrected date)? I remember saying that the "corrected commit date" that I had suggested was weak because it was not backwards-compatible with generation numbers if you are only looking at the offsets. I don't remember who suggested simply increasing the offset so they do become backwards-compatible. >> Do you have benchmark for this "monotonically offset corrected commit >> date" generation number in https://github.com/derrickstolee/git/commits/reach-perf >> and https://github.com/derrickstolee/gen-test ? > > I guess this will have to wait... I have not had time to revisit this topic and re-run performance numbers, sorry. -Stolee