def _run_hooks(config, hooks, args, environ):
skips = _get_skips(environ)<EOL>cols = _compute_cols(hooks, args.verbose)<EOL>filenames = _all_filenames(args)<EOL>filenames = filter_by_include_exclude(filenames, '<STR_LIT>', config['<STR_LIT>'])<EOL>classifier = Classifier(filenames)<EOL>retval = <NUM_LIT:0><EOL>for hook in hooks:<EOL><INDENT>retval |= _run_single_hook(classifier, hook, args, skips, cols)<EOL>if retval and config['<STR_LIT>']:<EOL><INDENT>break<EOL><DEDENT><DEDENT>if retval and args.show_diff_on_failure and git.has_diff():<EOL><INDENT>if args.all_files:<EOL><INDENT>output.write_line(<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>'<EOL>'<STR_LIT>',<EOL>)<EOL><DEDENT>output.write_line('<STR_LIT>')<EOL>subprocess.call(('<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>'))<EOL><DEDENT>return retval<EOL>
Actually run the hooks.