Add debug logs when override approval is ignored due to self approval If an override approval is ignored because it was applied by the patch set uploader and the override label has ignoreSelfApproval = true, we should be able to see this in a trace. Signed-off-by: Edwin Kempin <ekempin@google.com> Change-Id: I853673d6f4d7a9f6a91a9f404bb0c4f9766faf9b
diff --git a/java/com/google/gerrit/plugins/codeowners/backend/CodeOwnerApprovalCheck.java b/java/com/google/gerrit/plugins/codeowners/backend/CodeOwnerApprovalCheck.java index 49eddd7..6a41a91 100644 --- a/java/com/google/gerrit/plugins/codeowners/backend/CodeOwnerApprovalCheck.java +++ b/java/com/google/gerrit/plugins/codeowners/backend/CodeOwnerApprovalCheck.java
@@ -48,6 +48,7 @@ import com.google.gerrit.server.permissions.PermissionBackend; import com.google.gerrit.server.permissions.PermissionBackendException; import com.google.gerrit.server.permissions.ProjectPermission; +import com.google.gerrit.server.util.LabelVote; import com.google.inject.Inject; import com.google.inject.Provider; import com.google.inject.Singleton; @@ -222,7 +223,15 @@ codeOwnersPluginConfiguration.getOverrideApproval(changeNotes.getProjectName()); boolean hasOverride = hasOverride(overrideApprovals, changeNotes, patchSetUploader); logger.atFine().log( - "hasOverride = %s (overrideApprovals = %s)", hasOverride, overrideApprovals); + "hasOverride = %s (overrideApprovals = %s)", + hasOverride, + overrideApprovals.stream() + .map( + overrideApproval -> + String.format( + "%s (ignoreSelfApproval = %s)", + overrideApproval, overrideApproval.labelType().isIgnoreSelfApproval())) + .collect(toImmutableList())); BranchNameKey branch = changeNotes.getChange().getDest(); ObjectId revision = getDestBranchRevision(changeNotes.getChange()); @@ -934,6 +943,9 @@ .labelType() .getLabelId() .equals(approval.key().labelId()))) { + logger.atFine().log( + "Filtered out self-override %s of patch set uploader", + LabelVote.create(approval.label(), approval.value())); return false; } return true;