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

Review Request #8817 - Created March 15, 2017 and submitted

David Trowbridge

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

  • Verified that clone/fetch and the shallow cloned worked as expected.
  • Used this in conjunction with a Clang Static Analyzer tool.
  • 0
  • 0
  • 12
  • 2
  • 14
Description From Last Updated
Review Bot
David Trowbridge
Review Bot
Barret Rennie
Christian Hammond
David Trowbridge
Barret Rennie
David Trowbridge
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to master (32d991b)