Support global imports of code owner configs
Code owner configs already contain references to other code owner
configs that should be imported, but so far they had no effect (see
commit message of change I46005fbab for context). With this change these
imports are now resolved when code owners for a path are computed.
Non-resolvable imports are silently ignored and cyclic dependencies are
detected and handled.
Imports that are loaded from the same project/branch as the importing
code owner config are imported from the same revision from which the
importing code owner config was loaded. Imports that are loaded from
other projects/branches are imported from the current revision. If
several imports are loaded from the same project/branch we guarantee
that they are all loaded from the same revision, even if the current
revision is changed by a concurrent request while the resolution is
being performed.
Imports from other projects are always loaded from the same branch from
which the importing code owner config was loaded. Later we may allow to
specify the branch explicitly in the code owner config reference.
Change-Id: I4ebfbb55bc36fc2464f41d5a201b8e1bba5ae58d
Signed-off-by: Edwin Kempin <ekempin@google.com>
3 files changed