Less blocking logic

This commit is contained in:
Laurent Sigal
2015-12-22 18:57:25 +00:00
parent 5a08204b8d
commit a72ca3d68e
2 changed files with 5 additions and 11 deletions

View File

@@ -17,7 +17,7 @@ MANIFEST_JSON_SCHEMA = {
'type': 'object',
'properties': {
'id': {'type': 'string'},
'always_run': {'type': 'boolean'},
'always_run': {'type': 'boolean', 'default': False},
'name': {'type': 'string'},
'description': {'type': 'string', 'default': ''},
'entry': {'type': 'string'},

View File

@@ -72,19 +72,13 @@ def get_filenames(args, include_expr, exclude_expr):
def _run_single_hook(hook, repo, args, write, skips=frozenset()):
filenames = []
# if the hook is marked as always_run, do not compute the files to run
# in that case, simply run the script once not matter the changes
compute_file_names = 'always_run' not in hook or not hook['always_run']
filenames = get_filenames(args, hook['files'], hook['exclude'])
if hook['id'] in skips:
_print_user_skipped(hook, write, args)
return 0
elif compute_file_names:
filenames = get_filenames(args, hook['files'], hook['exclude'])
if not filenames:
_print_no_files_skipped(hook, write, args)
return 0
elif not filenames and not hook['always_run']:
_print_no_files_skipped(hook, write, args)
return 0
# Print the hook and the dots first in case the hook takes hella long to
# run.