mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-02-17 00:04:42 +04:00
Merge 3a3fe94760 into 8416413a0e
This commit is contained in:
commit
5f713f8112
2 changed files with 15 additions and 1 deletions
|
|
@ -188,7 +188,14 @@ def _adjust_args_and_chdir(args: argparse.Namespace) -> None:
|
||||||
toplevel = git.get_root()
|
toplevel = git.get_root()
|
||||||
os.chdir(toplevel)
|
os.chdir(toplevel)
|
||||||
|
|
||||||
args.config = os.path.relpath(args.config)
|
# https://github.com/pre-commit/pre-commit/issues/2530
|
||||||
|
# `os.relpath` raises a ValueError on Windows when the paths given are on
|
||||||
|
# separate drives.
|
||||||
|
try:
|
||||||
|
args.config = os.path.relpath(args.config)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
|
||||||
if args.command in {'run', 'try-repo'}:
|
if args.command in {'run', 'try-repo'}:
|
||||||
args.files = [os.path.relpath(filename) for filename in args.files]
|
args.files = [os.path.relpath(filename) for filename in args.files]
|
||||||
if args.commit_msg_filename is not None:
|
if args.commit_msg_filename is not None:
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,13 @@ def test_adjust_args_and_chdir_not_in_git_dir(in_tmpdir):
|
||||||
main._adjust_args_and_chdir(_args())
|
main._adjust_args_and_chdir(_args())
|
||||||
|
|
||||||
|
|
||||||
|
def test_adjust_args_and_chdir_relpath_to_different_drive():
|
||||||
|
args = _args(command='run', files=['f1', 'f2'])
|
||||||
|
with mock.patch.object(os.path, 'relpath', side_effect=ValueError):
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
main._adjust_args_and_chdir(args)
|
||||||
|
|
||||||
|
|
||||||
def test_adjust_args_and_chdir_noop(in_git_dir):
|
def test_adjust_args_and_chdir_noop(in_git_dir):
|
||||||
args = _args(command='run', files=['f1', 'f2'])
|
args = _args(command='run', files=['f1', 'f2'])
|
||||||
main._adjust_args_and_chdir(args)
|
main._adjust_args_and_chdir(args)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue