From 4efd19ce093fd7875bfd8f14dce2c584bc06cd30 Mon Sep 17 00:00:00 2001 From: Ian Cordasco Date: Sun, 24 Mar 2013 15:59:09 -0400 Subject: [PATCH] Fix #91 (bitbucket) Non python files were being included in the git hook. Also, I realized that with --install-hook on git projects, the file was not readable to the user. Using binary helps clarify the use of chmod since I had erroneously used the 744 like the commandline does. --- flake8/hooks.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/flake8/hooks.py b/flake8/hooks.py index 0c3c6ee..b42954f 100644 --- a/flake8/hooks.py +++ b/flake8/hooks.py @@ -27,16 +27,20 @@ def git_hook(complexity=-1, strict=False, ignore=None, lazy=False): """ gitcmd = "git diff-index --cached --name-only HEAD" if lazy: + # Catch all files, including those not added to the index gitcmd = gitcmd.replace('--cached ', '') if hasattr(ignore, 'split'): ignore = ignore.split(',') + # Returns the exit code, list of files modified, list of error messages _, files_modified, _ = run(gitcmd) + # Run the checks flake8_style = get_style_guide( config_file=DEFAULT_CONFIG, ignore=ignore, max_complexity=complexity) - report = flake8_style.check_files(files_modified) + report = flake8_style.check_files([f for f in files_modified if + f.endswith('.py')]) if strict: return report.total_errors @@ -154,7 +158,8 @@ def install_hook(): if 'git' in vcs: with open(vcs, 'w+') as fd: fd.write(git_hook_file) - os.chmod(vcs, 744) + # 0b111100100 == rwxr--r-- + os.chmod(vcs, 0b111100100) elif 'hg' in vcs: _install_hg_hook(vcs) else: