Make git errors throw FatalError

This commit is contained in:
Anthony Sottile 2014-08-04 17:11:18 -07:00
parent 74e878d96a
commit e3d29a897b
2 changed files with 12 additions and 2 deletions

View file

@ -7,13 +7,13 @@ import os.path
import re import re
from plumbum import local from plumbum import local
from pre_commit.errors import FatalError
from pre_commit.util import memoize_by_cwd from pre_commit.util import memoize_by_cwd
logger = logging.getLogger('pre_commit') logger = logging.getLogger('pre_commit')
@memoize_by_cwd
def get_root(): def get_root():
path = os.getcwd() path = os.getcwd()
while len(path) > 1: while len(path) > 1:
@ -21,7 +21,10 @@ def get_root():
return path return path
else: else:
path = os.path.normpath(os.path.join(path, '../')) path = os.path.normpath(os.path.join(path, '../'))
raise AssertionError('called from outside of the gits') raise FatalError(
'Called from outside of the gits. '
'Please cd to a git repository.'
)
def is_in_merge_conflict(): def is_in_merge_conflict():

View file

@ -6,6 +6,7 @@ import pytest
from plumbum import local from plumbum import local
from pre_commit import git from pre_commit import git
from pre_commit.errors import FatalError
from testing.fixtures import git_dir from testing.fixtures import git_dir
@ -24,6 +25,12 @@ def test_get_root_deeper(tmpdir_factory):
assert git.get_root() == path assert git.get_root() == path
def test_get_root_not_git_dir(tmpdir_factory):
with local.cwd(tmpdir_factory.get()):
with pytest.raises(FatalError):
git.get_root()
def test_is_not_in_merge_conflict(tmpdir_factory): def test_is_not_in_merge_conflict(tmpdir_factory):
path = git_dir(tmpdir_factory) path = git_dir(tmpdir_factory)
with local.cwd(path): with local.cwd(path):