• Show log

    Commit

  • Hash : 704b55cc
    Author : Carlos Martín Nieto
    Date : 2014-03-20T20:24:11

    revwalk: don't try to find merge bases when there can be none
    
    As a way to speed up the cases where we need to hide some commits, we
    find out what the merge bases are so we know to stop marking commits as
    uninteresting and avoid walking down a potentially very large amount of
    commits which we will never see. There are however two oversights in
    current code.
    
    The merge-base finding algorithm fails to recognize that if it is only
    given one commit, there can be no merge base. It instead walks down the
    whole ancestor chain needlessly. Make it return an empty list
    immediately in this situation.
    
    The revwalk does not know whether the user has asked to hide any commits
    at all. In situation where the user pushes multiple commits but doesn't
    hide any, the above fix wouldn't do the trick. Keep track of whether the
    user wants to hide any commits and only run the merge-base finding
    algorithm when it's needed.