tree 8b4dc07134da10ebf3a0e86cec28d832e217c119
parent 06e0a6422285d7f6fca45db676168644a461946c
author Edwin Kempin <ekempin@google.com> 1620298856 +0000
committer Edwin Kempin <ekempin@google.com> 1620301896 +0000

CodeOwnerResolver: Include email into "resolved to account" message

Currently the "resolved to account" message looks like this:

  resolved to account <account-id>

Since it doesn't contain the email it is only useful in combination with
the preceeding "resolving code owner reference <code-owner-reference>"
message that contains the email.

Going forward we want to refactor CodeOwnerResolver to process all
emails at once rather than each email one by one. If we do this the
connection between the two messages gets lost:

  resolving code owner reference <code-owner-reference-1>
  resolving code owner reference <code-owner-reference-2>
  ...
  resolving code owner reference <code-owner-reference-n>
  ...
  resolved to account <account-id-1>
  resolved to account <account-id-2>
  ...
  resolved to account <account-id-n>

Note, the number of "resolved to account" messages may not match the
number of "resolving code owner reference" message if not all code owner
references can be resolved to accounts.

To enable the refactoring, this change includes the email into the
"resolved to account" message:

  resolved email <email> to account <account-id>

The "resolving code owner reference" message is dropped as it's no
longer needed (since now all messages contain the email).

Signed-off-by: Edwin Kempin <ekempin@google.com>
Change-Id: I5ee6dfcbe6c96a1f8b11c59437f1630cdce8f9ff
