• 
      

    Add full-repository support for Review Bot tools with git.

    Review Request #8817 — Created March 15, 2017 and submitted — Latest diff uploaded

    Information

    ReviewBot
    master
    678a0a2...

    Reviewers

    This change adds a way for Review Bot tools to operate with an entire checkout
    of a (git) repository. This requires a fair amount of configuration on the
    worker side, which I'm planning to document more thoroughly in a forthcoming
    user manual.

    When one or more repositories is configured, the worker will listen on a new
    set of queues (the product of the list of repositories and the available tools
    which can run on full repos). This way, a worker will only pick up tasks for
    repositories which it has available.

    When a change using a repository is triggered for review, the repository is
    either cloned (if it doesn't exist), or fetched. This repo is then
    shallow-cloned to the desired parent revision and the patched files are
    downloaded. The tool can then do whatever it needs with the repo and post its
    review.

    • Verified that clone/fetch and the shallow cloned worked as expected.
    • Used this in conjunction with a Clang Static Analyzer tool.