This commit is contained in:
Marsha 2025-12-26 21:14:01 -05:00 committed by GitHub
commit 5f713f8112
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 1 deletions

View file

@ -188,7 +188,14 @@ def _adjust_args_and_chdir(args: argparse.Namespace) -> None:
toplevel = git.get_root()
os.chdir(toplevel)
# 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'}:
args.files = [os.path.relpath(filename) for filename in args.files]
if args.commit_msg_filename is not None:

View file

@ -29,6 +29,13 @@ def test_adjust_args_and_chdir_not_in_git_dir(in_tmpdir):
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):
args = _args(command='run', files=['f1', 'f2'])
main._adjust_args_and_chdir(args)