gecko-dev/tools/lint/hooks.py
Andrew Halberstadt c10125cefb Bug 1405588 - [lint] Stop forwarding 'args' in the git pre-push hook, r=standard8
The args passed in from the git pre-push hook aren't necessarily a valid ref,
so can result in failure. By default, the git implementation should be smart
enough to automatically determine which ref to compare against, so passing this
in from the hook shouldn't be necessary.

MozReview-Commit-ID: ESMQqbeGOHd

--HG--
extra : rebase_source : 3c363b6c531f278d7c5b3ddf41fb0f16e79966dc
2017-11-01 17:07:18 -04:00

43 lines
1.2 KiB
Python
Executable File

#!/usr/bin/env python
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
import os
import subprocess
import sys
from distutils.spawn import find_executable
here = os.path.dirname(os.path.realpath(__file__))
topsrcdir = os.path.join(here, os.pardir, os.pardir)
def run_mozlint(hooktype, args):
# --quiet prevents warnings on eslint, it will be ignored by other linters
python = find_executable('python2.7') or find_executable('python')
cmd = [python, os.path.join(topsrcdir, 'mach'), 'lint', '--quiet']
if 'commit' in hooktype:
# don't prevent commits, just display the lint results
subprocess.call(cmd + ['--workdir=staged'])
return False
elif 'push' in hooktype:
return subprocess.call(cmd + ['--outgoing'] + args)
print("warning: '{}' is not a valid mozlint hooktype".format(hooktype))
return False
def hg(ui, repo, **kwargs):
hooktype = kwargs['hooktype']
return run_mozlint(hooktype, kwargs.get('pats', []))
def git():
hooktype = os.path.basename(__file__)
return run_mozlint(hooktype, [])
if __name__ == '__main__':
sys.exit(git())