summaryrefslogtreecommitdiff
path: root/flake8/hooks.py
diff options
context:
space:
mode:
authoradammhaile <adammhaile@gmail.com>2015-12-16 22:40:57 -0500
committeradammhaile <adammhaile@gmail.com>2015-12-16 22:40:57 -0500
commit4da31aa521fe0c66c2577f49cb7002a8d438bfbf (patch)
tree963df5a66d0f352a89007c1395e3e3c2f95003f6 /flake8/hooks.py
parent8b277114009f17c4f58214bb74ccbbe0a8f98476 (diff)
downloadflake8-4da31aa521fe0c66c2577f49cb7002a8d438bfbf.tar.gz
Fix checking for repo dir without git/hg
Diffstat (limited to 'flake8/hooks.py')
-rw-r--r--flake8/hooks.py24
1 files changed, 15 insertions, 9 deletions
diff --git a/flake8/hooks.py b/flake8/hooks.py
index 2d1db8d..c25b9aa 100644
--- a/flake8/hooks.py
+++ b/flake8/hooks.py
@@ -155,14 +155,20 @@ def _get_files(repo, **kwargs):
def find_vcs():
- _, git_dir, _ = run('git rev-parse --git-dir')
- if git_dir and os.path.isdir(git_dir[0]):
- if not os.path.isdir(os.path.join(git_dir[0], 'hooks')):
- os.mkdir(os.path.join(git_dir[0], 'hooks'))
- return os.path.join(git_dir[0], 'hooks', 'pre-commit')
- _, hg_dir, _ = run('hg root')
- if hg_dir and os.path.isdir(hg_dir[0]):
- return os.path.join(hg_dir[0], '.hg', 'hgrc')
+ try:
+ _, git_dir, _ = run('git rev-parse --git-dir')
+ if git_dir and os.path.isdir(git_dir[0]):
+ if not os.path.isdir(os.path.join(git_dir[0], 'hooks')):
+ os.mkdir(os.path.join(git_dir[0], 'hooks'))
+ return os.path.join(git_dir[0], 'hooks', 'pre-commit')
+ except OSError:
+ pass
+ try:
+ _, hg_dir, _ = run('hg root')
+ if hg_dir and os.path.isdir(hg_dir[0]):
+ return os.path.join(hg_dir[0], '.hg', 'hgrc')
+ except OSError:
+ pass
return ''
@@ -269,7 +275,7 @@ def install_hook():
p = get_parser()[0]
sys.stderr.write('Error: could not find either a git or mercurial '
'directory. Please re-run this in a proper '
- 'repository.')
+ 'repository.\n')
p.print_help()
sys.exit(1)