• Nick Thomas's avatar
    Never fetch more than 101 commits when processing a git push · 81be7217
    Nick Thomas authored
    This change limits the number of commits we'll pull from Gitaly when
    processing hooks for branch/tag push/delete actions to at-most 101.
    
    This limit already exists when creating the initial default branch, but
    when creating a new non-default branch, or pushing to an existing one,
    we would read all the commits in the branch from Gitaly before throwing
    all but the most recent 100 away and processing those for the hooks.
    
    No behaviour changes are implied by this change, we're just skipping
    unnecessary work by taking advantage of the new `limit` option to the
    CommitsBetween RPC.
    
    Since we never want the full list of `commits`, I change the interface
    declared in `Git::BaseHooksService` to make it clearer as well.
    
    Changelog: performance
    81be7217
commit_spec.rb 22.5 KB