pre-upload: Allow projects to ignore SoB altogether

Make signoff_check tri-state - force on, force off, unspecified. If
unspecified, signoff_check will be enabled, which is the current

Some projects, such as mesa-amd, track an upstream project where usage
of Signed-Off-By is not enforced, nor is it rejected. Allow such
projects to ignore the SoB tag altogether during pre-upload checks.

TEST=Attempt repo upload dryrun in kernel, platform2, and mesa-amd projects
     with and without SoB tags

Change-Id: I4f0d553988f5e5b4248559bf0b9bb6e72c611e24
Tested-by: Drew Davenport <>
Reviewed-by: Mike Frysinger <>
Reviewed-by: Alex Klein <>
Commit-Queue: Drew Davenport <>
diff --git a/ b/
index 6807c48..47a96d0 100755
--- a/
+++ b/
@@ -1940,7 +1940,8 @@
   disabled_hooks = set(hooks[x] for x in disable_flags)
   if _check_change_has_signoff_field not in enabled_hooks:
-    enabled_hooks.add(_check_change_has_no_signoff_field)
+    if _check_change_has_signoff_field not in disabled_hooks:
+      enabled_hooks.add(_check_change_has_no_signoff_field)
   if _check_change_has_branch_field not in enabled_hooks: