Reland "presubmit: Skip owners checks if code-owners plugin is enabled."
This is a reland of 2cf835a9bad9ef5bfe477719d3376eccab3cac68
URL-encoded repo path, so chromium/src becomes chromium%2Fsrc
as Gerrit expects
Original change's description:
> presubmit: Skip owners checks if code-owners plugin is enabled.
>
> If code-owners plugin is enable for the repo, skip owners check on
> commit, and skip checking owners format, as that will be done by
> the plugin.
>
> Change-Id: I1663baef4f0f27b00423071343fe740f6da50ce7
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2727131
> Auto-Submit: Edward Lesmes <ehmaldonado@chromium.org>
> Reviewed-by: Gavin Mak <gavinmak@google.com>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Change-Id: I3038590f3a92cbf7b6dc0ba6eb47f72593a2ccf7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/2775840
Auto-Submit: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
Reviewed-by: Gavin Mak <gavinmak@google.com>
diff --git a/gerrit_util.py b/gerrit_util.py
index 2fd4366..6923f8b 100644
--- a/gerrit_util.py
+++ b/gerrit_util.py
@@ -771,13 +771,21 @@
'in change %s' % change)
-def IsCodeOwnersEnabled(host):
+def IsCodeOwnersEnabledOnHost(host):
"""Check if the code-owners plugin is enabled for the host."""
path = 'config/server/capabilities'
capabilities = ReadHttpJsonResponse(CreateHttpConn(host, path))
return 'code-owners-checkCodeOwner' in capabilities
+def IsCodeOwnersEnabledOnRepo(host, repo):
+ """Check if the code-owners plugin is enabled for the repo."""
+ repo = PercentEncodeForGitRef(repo)
+ path = '/projects/%s/code_owners.project_config' % repo
+ config = ReadHttpJsonResponse(CreateHttpConn(host, path))
+ return config['status'].get('disabled', False)
+
+
def GetOwnersForFile(host, project, branch, path, limit=100,
resolve_all_users=True, seed=None, o_params=('DETAILS',)):
"""Gets information about owners attached to a file."""