mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-14 05:45:37 +00:00
c10125cefb
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
43 lines
1.2 KiB
Python
Executable File
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())
|