findmissing: gerrit_interface: Fall back to use emails from tags if needed

In create_change(), we try to assign reviewers based on the Gerrit
Change-Id of the commit being fixed. In some situations (for example, if
the commit was pushed into Gerrit through a merge) the commit may
include a Change-Id, but that Change-Id is not known to Gerrit.
Pick reviewers from tags found after "cherry picked from" in this
situation.

BUG=None
TEST=Run on GCE

Change-Id: Ibe8994676ba85a8f562ae3fc74d0c5997a3b6eb1
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/dev-util/+/2197186
Commit-Queue: Guenter Roeck <groeck@chromium.org>
Tested-by: Guenter Roeck <groeck@chromium.org>
Reviewed-by: Curtis Malainey <cujomalainey@chromium.org>
diff --git a/contrib/findmissing/gerrit_interface.py b/contrib/findmissing/gerrit_interface.py
index ab0ce40..b6fd277 100755
--- a/contrib/findmissing/gerrit_interface.py
+++ b/contrib/findmissing/gerrit_interface.py
@@ -231,7 +231,13 @@
             cl_reviewers = get_reviewers(fixee_changeid, branch)
             reviewers = cl_reviewers if cl_reviewers else reviewers
     except requests.exceptions.HTTPError:
-        print('Error getting reviewers from gerrit for fixee_changeid', fixee_changeid)
+        # There is a Change-Id in the commit log, but Gerrit does not have a
+        # matching entry. Fall back to list of e-mails found in tags after
+        # the last "cherry picked" message.
+        print('Failed to get reviewer(s) from gerrit for Change-Id %s' % fixee_changeid)
+        emails = git_interface.get_tag_emails_linux_chrome(fixee_kernel_sha)
+        if emails:
+            reviewers = emails
 
     try:
         # Cherry pick changes and generate commit message indicating fix from upstream