Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

commit-graph: generation v5 (backward compatible date ceiling) #10

Open
wants to merge 1 commit into
base: reach-perf
Choose a base branch
from

Commits on Sep 15, 2019

  1. commit-graph: generation v5 (backward compatible date ceiling)

    This generation number option is backward-compatible (with
    reachability index v0) version of the generation number v3, that is
    the corrected commit date.  It takes the simple approach of faking
    "commit dates" being in the right order by adding an offset to the
    commit date (which is stored in the generation number column), so the
    modified commit date is always at least one more than the maximum
    modified commit date of all ancestors.  Additionally the offset itself
    is adjusted in such way that the offset of a commit is always at least
    one more than the offsets of all ancestors.
    
    Two following conditions are satisfied on the offset of a commit C for
    every parent P:
    
     1. committer_date(C) + offset(C) > committer_date(P) + offset(P)
     2. offset(C) > offset(P)
    
    This reachability index is locally computable, which means it is
    compatible with incremental commit graph feature.
    
    It has the same problem as v3, namely that we have a "maximum clock
    skew" based on the maximum generation number we can store, only more
    so.
    
    Note: it includes incidental whitespace cleanups for v3 code.
    
    Signed-off-by: Jakub Narębski <jnareb@gmail.com>
    jnareb committed Sep 15, 2019
    Configuration menu
    Copy the full SHA
    d084378 View commit details
    Browse the repository at this point in the history