mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-17 08:14:42 +04:00
Merge pull request #320 from pre-commit/use_show_toplevel
Use rev-parse --show-toplevel
This commit is contained in:
commit
d6cf62532d
3 changed files with 13 additions and 16 deletions
|
|
@ -7,6 +7,7 @@ import os.path
|
|||
import re
|
||||
|
||||
from pre_commit.errors import FatalError
|
||||
from pre_commit.util import CalledProcessError
|
||||
from pre_commit.util import cmd_output
|
||||
from pre_commit.util import memoize_by_cwd
|
||||
|
||||
|
|
@ -15,16 +16,12 @@ logger = logging.getLogger('pre_commit')
|
|||
|
||||
|
||||
def get_root():
|
||||
path = os.getcwd()
|
||||
while path != os.path.normpath(os.path.join(path, '../')):
|
||||
if os.path.exists(os.path.join(path, '.git')):
|
||||
return path
|
||||
else:
|
||||
path = os.path.normpath(os.path.join(path, '../'))
|
||||
raise FatalError(
|
||||
'Called from outside of the gits. '
|
||||
'Please cd to a git repository.'
|
||||
)
|
||||
try:
|
||||
return cmd_output('git', 'rev-parse', '--show-toplevel')[1].strip()
|
||||
except CalledProcessError:
|
||||
raise FatalError(
|
||||
'Called from outside of the gits. Please cd to a git repository.'
|
||||
)
|
||||
|
||||
|
||||
def is_in_merge_conflict():
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ from testing.fixtures import git_dir
|
|||
def test_get_root_at_root(tempdir_factory):
|
||||
path = git_dir(tempdir_factory)
|
||||
with cwd(path):
|
||||
assert git.get_root() == path
|
||||
assert os.path.normcase(git.get_root()) == os.path.normcase(path)
|
||||
|
||||
|
||||
def test_get_root_deeper(tempdir_factory):
|
||||
|
|
@ -24,7 +24,7 @@ def test_get_root_deeper(tempdir_factory):
|
|||
foo_path = os.path.join(path, 'foo')
|
||||
os.mkdir(foo_path)
|
||||
with cwd(foo_path):
|
||||
assert git.get_root() == path
|
||||
assert os.path.normcase(git.get_root()) == os.path.normcase(path)
|
||||
|
||||
|
||||
def test_get_root_not_git_dir(tempdir_factory):
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@ def test_create_sets_correct_directory(tempdir_factory):
|
|||
path = git_dir(tempdir_factory)
|
||||
with cwd(path):
|
||||
runner = Runner.create()
|
||||
assert runner.git_root == path
|
||||
assert os.getcwd() == path
|
||||
assert os.path.normcase(runner.git_root) == os.path.normcase(path)
|
||||
assert os.path.normcase(os.getcwd()) == os.path.normcase(path)
|
||||
|
||||
|
||||
def test_create_changes_to_git_root(tempdir_factory):
|
||||
|
|
@ -38,8 +38,8 @@ def test_create_changes_to_git_root(tempdir_factory):
|
|||
assert os.getcwd() != path
|
||||
|
||||
runner = Runner.create()
|
||||
assert runner.git_root == path
|
||||
assert os.getcwd() == path
|
||||
assert os.path.normcase(runner.git_root) == os.path.normcase(path)
|
||||
assert os.path.normcase(os.getcwd()) == os.path.normcase(path)
|
||||
|
||||
|
||||
def test_config_file_path():
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue