• Kevin Bracey's avatar
    revision.c: discount side branches when computing TREESAME · 4d826608
    Kevin Bracey authored
    Use the BOTTOM flag to define relevance for pruning. Relevant commits
    are those that are !UNINTERESTING or BOTTOM, and this allows us to
    identify irrelevant side branches (UNINTERESTING && !BOTTOM).
    
    If a merge has relevant parents, and it is TREESAME to them, then do not
    let irrelevant parents cause the merge to be treated as !TREESAME.
    
    When considering simplification, don't always include all merges -
    merges with exactly one relevant parent can be simplified, if TREESAME
    according to the above rule.
    
    These two changes greatly increase simplification in limited, pruned
    revision lists.
    Signed-off-by: default avatarKevin Bracey <kevin@bracey.fi>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    4d826608
t6019-rev-list-ancestry-path.sh 3.71 KB