mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-01-14 04:50:20 -06:00
Fix pre-commit install on subst drives
This commit is contained in:
@@ -52,10 +52,10 @@ def get_root() -> str:
|
||||
# "rev-parse --show-cdup" to get the appropriate path, but must perform
|
||||
# an extra check to see if we are in the .git directory.
|
||||
try:
|
||||
root = os.path.realpath(
|
||||
root = os.path.abspath(
|
||||
cmd_output('git', 'rev-parse', '--show-cdup')[1].strip(),
|
||||
)
|
||||
git_dir = os.path.realpath(get_git_dir())
|
||||
git_dir = os.path.abspath(get_git_dir())
|
||||
except CalledProcessError:
|
||||
raise FatalError(
|
||||
'git failed. Is it installed, and are you in a Git repository '
|
||||
|
||||
@@ -7,7 +7,9 @@ import pytest
|
||||
import pre_commit.constants as C
|
||||
from pre_commit import main
|
||||
from pre_commit.errors import FatalError
|
||||
from pre_commit.util import cmd_output
|
||||
from testing.auto_namedtuple import auto_namedtuple
|
||||
from testing.util import cwd
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
@@ -54,6 +56,17 @@ def test_adjust_args_and_chdir_relative_things(in_git_dir):
|
||||
assert args.files == [os.path.join('foo', 'f1'), os.path.join('foo', 'f2')]
|
||||
|
||||
|
||||
@pytest.mark.skipif(os.name != 'nt', reason='windows feature')
|
||||
def test_install_on_subst(in_git_dir, store): # pragma: posix no cover
|
||||
assert not os.path.exists('Z:')
|
||||
cmd_output('subst', 'Z:', str(in_git_dir))
|
||||
try:
|
||||
with cwd('Z:'):
|
||||
test_adjust_args_and_chdir_noop('Z:\\')
|
||||
finally:
|
||||
cmd_output('subst', '/d', 'Z:')
|
||||
|
||||
|
||||
def test_adjust_args_and_chdir_non_relative_config(in_git_dir):
|
||||
in_git_dir.join('foo').ensure_dir().chdir()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user